面试题系列——浏览器相关

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 引擎越来越独立,内核就倾向于只指渲染引擎。

posted @ 2018-01-13 11:04  PeriHe  阅读(153)  评论(0)    收藏  举报