1

所以我为我的页面样式抓取了一些 CSS,它是什么,并给了我一个漂亮的旧彩虹渐变背景。

background-color:#ff0000;
background-image: -moz-linear-gradient( left, #ff0000, #ffa500 13.0%,#ffff00 26.0%,#0000ff 39.0%,#008000 52.0%,#4b0082 65.0%,#ee82ee 78.0%);
background-image: -webkit-linear-gradient( left, #ff0000, #ffa500 13.0%,#ffff00 26.0%,#0000ff 39.0%,#008000 52.0%,#4b0082 65.0%,#ee82ee 78.0%);
background-image: -o-linear-gradient( left, #ff0000, #ffa500 13.0%,#ffff00 26.0%,#0000ff 39.0%,#008000 52.0%,#4b0082 65.0%,#ee82ee 78.0%);
background-image: -ms-linear-gradient( left, #ff0000, #ffa500 13.0%,#ffff00 26.0%,#0000ff 39.0%,#008000 52.0%,#4b0082 65.0%,#ee82ee 78.0%);
background-image: linear-gradient( left, #ff0000, #ffa500 13.0%,#ffff00 26.0%,#0000ff 39.0%,#008000 52.0%,#4b0082 65.0%,#ee82ee 78.0%)

我正在努力解决的是这个 -moz 和 -webkit 等如何作为线性渐变场的前缀。一定要这样吗?没有任何东西可以设置它以便它与每个浏览器对话吗?你觉得我吗?

4

2 回答 2

2

您可以使用 CSS 预处理器来减少工作量,例如:

http://compass-style.org/examples/compass/css3/gradient/

@include background-image(linear-gradient(red, blue));

W3C 推荐供应商前缀,直到某项功能被实施到推荐规范中。

http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords

除此之外,没有没有办法避免供应商前缀。

一些有趣的阅读:CSS 供应商前缀被认为是有害的

最初,供应商前缀的目的是允许浏览器制造商开始支持实验性 CSS 声明。

假设一个 W3C 工作组正在讨论一个网格声明(顺便说一句,这不是一个坏主意)。让我们进一步说,有些人创建了一个规范草案,但其他人不同意某些细节。我们知道,这个过程可能需要很长时间。

让我们进一步说,微软作为一个实验决定实施提议的网格。目前,Microsoft 无法确定该规范不会更改。因此,它没有在其 CSS 中添加网格,而是添加了 -ms-grid。

供应商前缀表示“这是微软对正在进行的提案的解释”。因此,如果网格的最终定义不同,微软可以添加一个新的 CSS 属性网格,而不会破坏依赖于 -ms-grid 的页面

于 2013-03-07T05:41:05.843 回答
1

浏览器前缀是必需的,直到它们成为规范的一部分。例如,我们过去必须做webkit-border-radius,现在只需border-radius工作。随着支持的增加,它们将被逐步淘汰,但它们很适合用来让您的用户满意。

于 2013-03-07T05:39:09.983 回答