(1)Trident内核由于被微软采用,并得益於微软操作系统的普及以前几乎一统天下,所以又称为“IE内核”主要浏览器有IE系列浏览器;
(2)Gecko内核,因为被Mozilla FireFox浏览器采用并得到开发者的進一步丰富又被称为“Firefox内核”;
2、浏览器查找域名的IP地址。
3. 浏览器给web服务器发送一个HTTP请求
4. 网站服务的永久重定向响应
5. 浏览器跟踪重定向哋址 现在浏览器知道了要访问的正确地址,所以它会发送另一个获取请求
6. 服务器“处理”请求,服务器接收到获取请求然后处理并返回一个响应。
7. 服务器发回一个HTML响应
9. 浏览器发送请求以获取嵌入在HTML中的对象。在浏览器显示HTML时它会注意到需要获取其他地址内容的标簽。这时浏览器会发送一个获取请求来重新获得这些文件。这些文件就包括CSS/JS/图片等资源这些资源的地址都要经历一个和HTML读取类似的过程。所以浏览器会在DNS中查找这些域名发送请求,重定向等等…
①解析html构建dom树解析css构建css树:将html解析成树形的数据结构,将css解析成树形的數据结构
③布局render树:有了render树浏览器已经知道那些网页中有哪些节点,各个节点的css定义和以及它们的从属关系从而计算出每个节点在屏幕中的位置。
④绘制render树:按照计算出来的规则通过显卡把内容画在屏幕上。
目的: 减少浏览器reflow(回流)提升浏览器渲染dom的性能
1>.Reflow(回流):浏览器要花时间去渲染,当它发现了某个部分发生了变化影响了布局那就需要倒回去重新渲染。
2>.Repaint(重绘):如果只是改变了某个元素的背景颜色文字颜色等,不影响元素周围或内部布局的属性将只会引起浏览器的repaint,重画某一部分
Reflow要比Repaint更花费时间,也就更影响性能
(1)dom深度尽量浅。
(3)使用现代合法的css属性
(4)不要为id选择器指定类名或是标签,因为id可以唯一确定一个元素
(5)避免后代选择苻,尽量使用子选择符原因:子元素匹配符的概率要大于后代元素匹配符。
(9)有些情况下比如修改了元素的样式,浏览器并不会立刻reflow 或 repaint 一次而是会把这样的操作积攒一批,然后做一次 reflow这又叫异步 reflow 或增量异步 reflow。但是在有些情况下比如resize 窗口,改变了页面默认的字体等对于这些操作,浏览器会马上进行 reflow