例如:
https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions
答案 0 :(得分:4)
W3C正在考虑的是语法。我们以梯度为例:
-webkit-gradient(
linear,
left bottom,
left top,
color-stop(0.2, rgb(86,45,199)),
color-stop(0.6, rgb(112,72,239))
)
-moz-linear-gradient(
center bottom,
rgb(86,45,199) 20%,
rgb(112,72,239) 60%
)
这两个代码都生成相同的渐变。正如您所看到的,没有标准的过程,对于基于webkit和Mozilla的浏览器,该结构既令人困惑又不同。
但是让我们想象一下,在两三年内,实施工作就完成了。现在,您只需为标准添加另一行代码。
gradient: center bottom #colorFrom opacityFrom #colorTo opacityTo;
现在两个引擎都会理解渐变状态,如果它在扩展名之后指定,那么最后一个将是要解释的。
答案 1 :(得分:1)
标准流程不运行如下:
与任何IT项目一样,编写规范,然后实现其中的一部分,然后根据实施过程中学到的经验改变规范。这是一种精致的舞蹈,如Robert O’Callahan said。
使用供应商前缀进行初始实现意味着如果稍后更改规范,则针对现有实现编写的现有代码不会中断。
供应商前缀也允许浏览器制造商进行实验,这可能会导致Safari的渐变效果非常好。
答案 2 :(得分:0)
它们大多是从css2-> css3开始进行的工作,但由于浏览器尚不支持它(如css3),因此它会以不同的名称显示。
答案 3 :(得分:0)
他们这样做有几个原因:
是的,遗憾的是,这些属性可能会在未来版本中发生变化甚至消失,因此需要更改代码。底线:坚持标准,或者至少要注意任何当前闪亮的功能都有未来价格。
答案 4 :(得分:0)
答案 5 :(得分:0)
我不了解CSS标准演变的具体细节,可以猜测以下是制造商“超出标准”的主要原因。
虽然有效地规避了既定的标准化过程,但上述驱动因素可能具有良好的意义并且注意到更大的利益。不幸的是,不太高尚的原因: