【发布时间】:2013-06-05 14:25:34
【问题描述】:
我最近阅读了很多关于 CSS3 渐变的文章,我很好奇供应商前缀定义的顺序是否重要。例如,我看到很多以下内容:
background: #0A284B;
background: -webkit-gradient(linear, left top, left bottom, from(#0A284B),
to(#135887));
background: -webkit-linear-gradient(#0A284B, #135887);
background: -moz-linear-gradient(top, #0A284B, #135887);
background: -ms-linear-gradient(#0A284B, #135887);
background: -o-linear-gradient(#0A284B, #135887);
background: linear-gradient(#0A284B, #135887);
filter: progid:DXImageTransform.Microsoft.gradient
(startColorstr='#0A284B', endColorstr='#135887');
但是,我有时也会看到 CSS 渐变定义的示例,其中过滤器声明位于顶部,或者其他还包含 -ms-filter 前缀等的示例。
所以我想我的问题是:
- 定义的顺序重要吗?
- 我应该使用 -ms-filter 前缀吗?
据我所知,只要常规背景声明在前,W3C 官方的线性渐变在后,没关系。
我应该注意到我专注于上面的线性渐变,但我认为同样的问题也适用于径向渐变。
【问题讨论】:
-
前缀的顺序可以取决于属性/值。某些版本的 Opera (Presto) 将 webkit 前缀属性别名为它们自己的前缀属性或标准属性,具体取决于 Opera 支持的属性。我读到 Firefox 移动版也有同样的功能(找不到源代码),但桌面版没有。
标签: css