CSS 书写顺序对浏览器渲染的影响

2020-01-23  本文已影响0人  凌杰991

知识背景

在浏览器的渲染过程中(页面初始化,用户行为改变界面样式,动画改变界面样式等)reflow(回流)和 repaint(重绘) 会大大影响 WEB 性能,尤其是手机页面。因此我们在页面设计的时候要尽量减少 reflow 和 repaint。正确的 CSS 书写顺序不仅方便开放人员进行查看,也不失为优化 CSS 的一种方式

HTML 解析流程

回流(reflow)与重绘(repaint)

回流

当 Render 树 中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档的过程称为回流。

重绘

当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、visibility、background-color 等),浏览器会将新样式赋予给元素并重新绘制它,这个过程称为重绘。

回流与重绘的关系

回流必将引起重绘,重绘不一定会引起回流,回流比重绘的代价要更高。

导致重绘 (repaint) 的原因

向元素添加轮廓,更改背景颜色或更改可见性样式

导致回流 (reflow) 的原因

如何避免回流

CSS 方面

JavaScript 方面

CSS 样式的书写顺序

Property Type Style Sheet
Location clear,z-index,display,float,overflow,position,top,right,bottom,left
Itself margin,padding,width,height,border,background
Font font-family,font-size,font-weight,font-varient,color
Text text-align,vertical-align,text-wrap,text-transform,text-indent,text-decoration,letter-spacing,word-spacing,white-space,text-overflow
CSS3 content,box-shadow,border-radius,transform,transition
上一篇 下一篇

猜你喜欢

热点阅读