1.浏览器的内核有哪些?代表作品有哪些?
浏览器的内核是分为两个部分的,一是渲染引擎,另一个是JS引擎。现在JS引擎比较独立,内核更加倾向于说渲染引擎。
国内常见的浏览器有:IE、Firefox、QQ浏览器、Safari、Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、遨游浏览器、世界之窗浏览器等。
但目前最为主流浏览器有五大款,分别是IE、Firefox、Google Chrome、Safari、Opera。
1.Trident内核:代表作品是IE
因IE捆绑在Windows中,所以占有极高的份额,又称为IE内核或MSHTML,此内核只能用于Windows平台,且不是开源的。
2.webkit内核:代表作品是Safari、曾经的Chrome。
开源的项目,是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。
3.presto内核:表作品是Opera
该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。
4.Gecko内核:代表作品是Firefox
Gecko的特点是代码完全公开,跨平台,在Microsoft Windows、Linux、MacOs X等主 要操作系统中使用。
5.Blink内核:由Google和Opera Software开发的浏览器排版引擎
Blink是一个由Google和Opera Software开发的浏览器排版引擎,谷歌还开发了自己的JS引擎,V8,使JS运行速度极大地提高了。
2.怎么处理浏览器的兼容性问题?
1.重置不同浏览器的默认样式
不同浏览器的默认样式存在差异,可以使用 Normalize.css 抹平这些差异。当然,你也可以定制属于自己业务的 reset.css
<link href="https://cdn.bootcss.com/normalize/7.0.0/normalize.min.css" rel="stylesheet">
2.引入html5shiv.js
解决 ie9 以下浏览器对 html5 新增标签不识别的问题
<!--[if lt IE 9]>
<script type="text/javascript" src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
3.引入respond.js
解决 ie9 以下浏览器不支持 CSS3 Media Query 的问题。
<script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
4.IE 条件注释
IE 的条件注释仅仅针对IE浏览器,对其他浏览器无效
5.IE 属性过滤器(较为常用的hack方法)
针对不同的 IE 浏览器,可以使用不同的字符来对特定的版本的 IE 浏览器进行样式控制。
6.浏览器 CSS 兼容前缀
-o-transform:rotate(7deg); // Opera
-ms-transform:rotate(7deg); // IE
-moz-transform:rotate(7deg); // Firefox
-webkit-transform:rotate(7deg); // Chrome
transform:rotate(7deg); // 统一标识语句