CSS3 的前缀不是必需的吗?

Posted

技术标签:

【中文标题】CSS3 的前缀不是必需的吗?【英文标题】:Prefix for CSS3 isn't required? 【发布时间】:2013-08-09 22:28:11 【问题描述】:

我正忙于使用最新的 Chrome 浏览我的网站。

无缘无故,我刚开始使用Inspect Element 搜索代码。

在看到一些罕见的事件后,我向下滚动。 -moz- -o- -ms- -webkit- 都被交叉了,除了 box-shadow 本身。每一个 CSS3 元素都会发生同样的情况,例如渐变、文本阴影、过渡、框阴影。

我想知道它是否仅适用于 Chrome。我将代码部分放在有前缀的地方,在/**/ 之间。然后开始在浏览器下面命名,使用127.0.0.1,这一切都给了我想要的结果,没有任何前缀。

谷歌浏览器 28.0.1500.95 -webkit-

Internet Explorer 10.0.9200 -ms-

Mozilla Firefox 23.0 -moz-

Opera 15.0.1147.153 -o-

为什么每个人都一直告诉我,我需要这样做?什么时候所有浏览器都支持? (我的意思是,所有这 4 个前缀都适用于所有浏览器)。

【问题讨论】:

Chrome 不再使用 webkit(从 v28 开始) 这意味着我应该开始阅读每次下载的文档,因为我不知道。 别担心,我只是重新阅读,我的评论并不能真正帮助回答您的问题!我认为答案应该有所帮助 - 如果您想支持旧版本的 chrome 等,请使用前缀。 【参考方案1】:

根据 caniuse.com(第一个 google 搜索结果),供应商前缀将支持一些过时版本的 Mozilla 和基于 Webkit 的浏览器。

链接:http://caniuse.com/css-boxshadow

【讨论】:

具体是哪个查询? "box-shadow 浏览器支持"【参考方案2】:

当前版本的 Chrome/Opera 使用已弃用供应商前缀的渲染引擎。所以从技术上讲,你至少不需要再使用它们了。但是,由于很多人仍在使用旧版本以及其他 webkit 浏览器,因此最好仍然包含它们 :)

【讨论】:

好的,但是呢?为什么浏览器需要一个前缀,他们不能只是挂在相同的 CSS3 规则上,内容还是一样的。 之所以使用它们是因为生产浏览器的软件供应商希望实现 CSS 规范预发布的新功能。使用供应商前缀可确保以后页面的功能不会发生任何变化。

以上是关于CSS3 的前缀不是必需的吗?的主要内容,如果未能解决你的问题,请参考以下文章

css3浏览器私有属性前缀使用详解

JS控制CSS3,添加浏览器兼容前缀

CSS CSS3后备前缀

Firefox 中的 CSS3 @font-face 根据 URL 前缀更改

Webpack5之CSS3自动补齐前缀

Webpack5之CSS3自动补齐前缀