面试题系列——浏览器相关
1.列举常见的浏览器前缀?
-ms- /* IE */
-webkit- /* Safari and Chrome */
-o- /* Opera */
-moz- /* Firefox */
2.常见的浏览器都是什么内核?
Trident内核(代表:Internet Explorer) ['traɪd(ə)nt]
Gecko内核(代表:Mozilla Firefox) ['gekəʊ]
WebKit内核(代表:Safari、Chrome)
Presto内核(代表:Opera) ['prestəʊ] ['ɒp(ə)rə]
拓展:1.https://www.caniuse.com/ 可以查询CSS3特性,在浏览器的哪个版本开始可以不用加前缀。
2.autoprefixer工具来为编译后的css自动补全所需的前缀。无论你是用webpack、gulp、grunt还是fis,它都能完美配合。这个工具中内置了非常详尽的数据,描述每个私有有属性在浏览器下的各版本下,是否需要前缀。配置该工具的时候,只要指明需要兼容的浏览器版本,它就会很智能的按需添加前缀了。如果私有语法与标准有差异,它也能自动处理。只有一种情况下例外,还是要写前缀,那就是你写的这条css属性没有对应的w3c标准语法。
3.说一下你对浏览器内核的理解?
主要分成两部分:渲染引擎(layout engineer或 Rendering Engine) 和 JS 引擎。
渲染引擎:负责取得网页的内容(HTML、 XML 、图像等等)、整理讯息(例如加入 CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。取得页面内容加入css渲染出页面。
浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。
JS引擎则:解析和执行 javascript 来实现网页的动态效果。
最开始渲染引擎和JS引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。

浙公网安备 33010602011771号