Rob W 的回答很全面,同时也很冗长。因此,我想在 2014 年底做一个支持当前浏览器的总结,同时确保一些向后兼容性,只省略 IE6/7 渲染线性渐变和早期 Webkit 的无效能力(Chrome1-9,Saf4 -5 特殊方式 ( -webkit-gradient( linear, left top, left bottom, color-stop( 0, #0C93C0 ), color-stop( 100%, #FFF ) );
)
标准语法已从开始渐变位置更改to direction
为,例如background-image: linear-gradient( to bottom, #0C93C0, #FFF );
广泛支持、易于阅读的 CSS:
background-color: #8BCCE1; /* fallback color (eg. the gradient center color), if gradients not supported; you could also work with an gradient image, but mind the extra HTTP-Request for older browsers */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient( startColorStr=#0C93C0, EndColorStr=#FFFFFF )"; /* IE8-9, ColorZilla Ultimate CSS Gradient Generator uses SVG bg image for IE9 */
background-image: -webkit-linear-gradient( top, #0C93C0, #FFF ); /* Chrome10-25, Saf5.1-Saf6, iOS -6.1, Android -4.3 */
background-image: -moz-linear-gradient( top, #0C93C0, #FFF ); /* Fx3.6-15 */
background-image: -o-linear-gradient( top, #0C93C0, #FFF ); /* Op11.10-12.02 */
background-image: linear-gradient( to bottom, #0C93C0, #FFF ); /* W3C, Fx16+, Chrome26+, IE10+, Op12.10+, Saf6.1+ */
一个有趣的附带事实是,网络上的大多数博客文章和浏览器渐变工具,例如著名的 ColorZilla 的“ Ultimate CSS Gradient Generator ”都包含 MS 供应商前缀-ms-linear-gradient
值。
从 Internet Explorer 10 Consumer Preview 开始支持它。但是,当您包含标准值时linear-gradient
,Internet Explorer 10 Release Preview会适当地呈现它。
因此,通过包含-ms-linear-gradient
和标准的方式,-ms
您实际上只是在解决 IE10 消费者预览版,这归结为您的听众中没有人。