首页 > 网页教程 > CSS > 正文

CSS3亮点前瞻之线性渐变实例详解

2010-03-26 11:38:04   作者:不详   来源:前端观察

请注意我们将渐变的类型——linear——放到了属性前缀中了

  • 渐变从哪里开始? (top – 我们也可以使用度数,比如-45deg)
  • 开始的颜色? (red)
  • 结束的颜色? (blue)

Color-Stops

如果你不需要从一个颜色到另一个颜色的100%渐变怎么办?这就是color stop起作用的时候了。一个普遍的设计技术是使用一个较短而细微的渐变,比如:

Subtle Gradients

注意顶部的浅灰色到白色的细小的渐变

在过去,标准的做法就是制作一个图片,并将其设为一个元素的背景图片,然后让其水平平铺。然而使用CSS3,这是个小Case。

background: white; /* fallback for older/unsupporting browsers */ 
background: -moz-linear-gradient(top, #dedede, white 8%);  
background: -webkit-gradient(linear, 0 0, 0 8%, from(#dedede), to(white));  
border-top: 1px solid white; 

这次,我们让渐变结束于8%,而不是默认的100%。请注意我们也在头部采用了一个边框,以形成对比。这很常用。

如果我们想要添加多一种(几种)颜色,我们可以这样做:

background: white; /* fallback for older/unsupporting browsers */ 
background: -moz-linear-gradient(top, #dedede, white 8%, red 20%);  
background: -webkit-gradient(linear, 0 0, 0 100%, from(#dedede), color-stop(8%, white), color-stop(20%, red);  

对于-moz 版本,我们定义,从元素的20%的高度的地方开始是红色。
而对于-webkit,我们使用color-stop,采用两个参数:哪里开始停止,使用哪种颜色。

3. IE

IE并不支持CSS渐变,但是提供了渐变滤镜,可以实现最简单的渐变效果:

filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ff0000'); /* IE6,IE7 */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ff0000')"; /* IE8 */ 

PS:事实上,我们在《RGBa色彩的浏览器支持》提到的IE的解决方法,就是使用这个渐变滤镜。

关于CSS渐变的一些要点:

  • 尽可能的使用它。如果让IE用户看到一个固定的纯色,我鼓励你使用这种方法;
  • IE6/7/8, Opera, Safari 3, 和Firefox 3 不能渲染CSS3 渐变,Firefox 和Safari用户通常经常升级浏览器,而Chrome的自动升级机制会在后台自动升级,所以这并不是个大问题;
  • 总是为不支持这些浏览器私有属性的浏览器应用一个默认的,纯色背景;
  • 永远不要使用红色到蓝色的渐变,就像我用作例子的这种;
  • 页面无须在每个浏览器里面看起来完全一样!
  • Firefox可以使用角度来设定渐变的方向,而webkit只能使用x和y轴的坐标。

栏目搜索>>分类导航
Flash幻灯 jQuery幻灯 JS幻灯 Flash相册 jQuery相册 图片特效 导航菜单 广告代码 在线客服 表单按钮 其它特效

HTML CSS JavaScript Dreamweaver Fireworks 设计分享

建站教程 网站运营 实用工具 网页模板 网页素材
CSS酷站 网上购物 设计团队 设计博客


教程排行榜
21个令人惊叹的CSS技术(案例)展示
HTML5的Video标签详细说明手册
看这些用CSS3绘制的图标,你震撼了吗
如何使一个DIV层居中于浏览器中?
IE PNG Fix—让IE6完美支持PNG透明图片的插件
加一段代码让IE6支持hover伪类效果
CSS Sprite(CSS精灵)的优点和使用方法
最新的IE6、IE7和IE8的CSS BUG汇总列表
深入理解CSS的inherit与auto之间区别
CSS3教程:17种用CSS实现的很酷炫的立体网...
用浮动清除LI元素在IE6中底部3像素的BUG
解决IE6下PNG图片透明的最佳方法
IE的几个最常见BUG及解决方案
div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法
CSS样式的postion属性absolute和fixed的区别
DIV+CSS布局两列右列宽度自适应布局的不同...
下载排行榜
jQuery图片特效代码 带缩略图和文字标题简...
仿淘宝商城天猫首页jQuery多格焦点幻灯图特...
仿QQ商城焦点图jquery幻灯特效代码
宽屏flash+xml焦点幻灯图特效代码
效果媲美flash的jQuery幻灯代码支持多种切换效果
3D立体效果的flash+xml照片墙相册展示代码
带标题和数字导航的JS焦点幻灯特效代码
31款简单实用的CSS+JS下拉菜单脚本
漂亮的jquery+Lightbox灯箱效果图片展示特效代码
基于mootools有7种效果的Gallery(画廊)幻灯相册代码
超酷HTML5图片特效代码支持全屏显示
漂亮的jquery画廊相册特效支持缩略图和键盘...
可自动展开和折叠收起的QQ在线客服代码
半透明立体质感的宽屏flash+xml焦点幻灯代码
基于jQuery的首页自动收缩全屏广告代码
超酷3D摩天轮flash+xml幻灯相册特效源码