小编典典

为什么浏览器为CSS属性创建供应商前缀?

css

也许这是一个明显的答案,但是

为什么 地球上 会浏览器决定创建自己的供应商前缀border-radius之类的?

我的意思是:为什么我必须输入:

-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;

是否因为每个平台都认为“我们很酷,我们会想出一种 更好的 方法来制作圆角”?键入三行似乎是完全和莫名其妙的冗余。


阅读 350

收藏
2020-05-16

共1个答案

小编典典

这是因为这些功能是在规范到达最终发布阶段之前由供应商实施的。

供应商前缀确保与功能更改等没有冲突。

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

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

让我们进一步说,作为试验,微软决定实施建议的网格。此时,Microsoft不能确定规范不会更改。因此,它没有向其CSS添加网格,而是添加了-ms-
grid。

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

2020-05-16