跨浏览器CSS渐变

CSS渐变这一特性Webkit浏览器这二年都有介绍,但是一直没有被大多数浏览器所兼容。现在 Firefox 3.6+已经实现了对 CSS渐变的支持,我们可以通过CSS样式而不用图片实现渐变效果。下面这段代码将展现支持IE, Firefox 3.6+, Safari, and Chrome浏览器的CSS渐变。

   一、Webkit

  下面一行是针对Webkit渐变的代码(如:Safari, Chrome等),它将从上(#ccc)到下(#000)显示一个线性渐变。

 

 background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000));

webkit gradient

二、Firefox 3.6+

background: -moz-linear-gradient(top,  #ccc,  #000);

firefox gradient

     三、Internet Explorer

     下面滤镜仅仅能被IE所识别.

    

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000');

 

ie gradient filter

跨浏览器支持多浏览器CSS渐变

background: #999; /* for non-css3 browsers */

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000'); /* for IE */
background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000)); /* for webkit browsers */
background: -moz-linear-gradient(top,  #ccc,  #000); /* for firefox 3.6+ */
显示效果:
gradient box

IE的局限性

IE渐变滤镜不支持:结束颜色的位置、角度和射线渐变。这意味着你只能定义指定了开始和结束颜色的水平或垂直的线性渐变。

 

总结

 请注意不是所有浏览器都支持CSS渐变,为了安全起见我们不应该依靠CSS渐变来布局,可以只用它来增强布局。

 

 

posted @ 2010-04-25 00:41  maiux324  阅读(884)  评论(0编辑  收藏  举报