浏览器内核以及其前缀
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 作者:孙老师