浏览器内核以及其前缀

1. 什么是浏览器内核

所谓浏览器内核就是指浏览器最重要或者说核心的部分”Rendering Engine”,译为”渲染引擎”。负责对网页语法的解析,渲染引擎决定浏览器如何显示页面的内容和页面的格式信息。

2. 私有化前缀

CSS标准中各个属性都要经历从草案到推荐的过程,css3中的属性进展都不一样,浏览器厂商在标准尚未明确情况下提前支持会有风险,浏览器厂商对新属性的支持情况也不同,所以会加厂商前缀加以区分。

如果某个属性已经从草案变为了或接近推荐方案,并且厂商已经完全实现了推荐属性,那就不用加厂商前缀。如border-radius已经很成熟,不用加前缀。

根据不同的浏览器内核,css前缀会有不同。最基本的浏览器内核有如下四种,其它的内核都是基于此四种进行再研发的。

1. Gecko内核: 前缀为-moz-   火狐浏览器

2. Webkit内核: 前缀为-webkit-   也叫谷歌内核,chrome浏览器最先开发使用,safari浏览器也使用该内核。国内很多浏览器也使用了webkit内核,如360极速、世界之窗、猎豹等。

3. Trident内核: 前缀为-ms-  也称IE内核

4. Presto内核: 前缀-o-   目前只有opera采用

在大多数情况下,当你需要使用CSS3中的属性且需要使用一个前缀的时候,针对所使用的浏览器,添加上面的前缀就可以了。例如:如果想要添加一个CSS过渡效果,使用transition属性,并且先添加如下前缀:

-webkit-transition:background 0.5s ease;
-moz-transition:background 0.5s ease;
-o-transition:background 0.5s ease;
-ms-transition:background 0.5s ease;
transition:background 0.5s ease;

用户的浏览器将会对它所理解的transition版本做出响应,而忽略其他的版本。

3. 如何处理前缀

目前浏览器厂商对于全面实现所有的CSS3功能竭尽全力,并且对于大多数现代浏览器来说,需要添加前缀的属性的数目正在快速减少。

对于哪些功能需要添加前缀,可以浏览: http://shouldiprefix.com/

vscode中处理添加前缀可以使用插件(css-auto-prefix),需要在css文件中进行编写才会生效。

文档更新时间: 2023-02-22 11:12   作者:孙老师