从浏览器渲染过程中,渲染树遍历每个树结点的CSS样式进行解析。在解析过程中,一旦浏览器发现某个元素的定位变化影响布局,则需要倒回去重新渲染。如:
.box { width: 100px;height: 100px;display: inline; }
先解析width: 100px;height: 100px;当解析到display: inline时行内元素无法显式声明宽高,那么width、height不是白白浪费了
重排(回流)触发重新布局,导致渲染树重新计算布局和渲染
CSS的一些属性设置会导致重绘和回流(重排),为减少浏览器回流(重排),提高浏览器渲染DOM的性能,对CSS属性设置进行了排序,如下:
(1)定位属性:position display float left top right bottom overflow clear z-index
(2)自身属性:width height padding border margin background
(3)文字样式:font-family font-size font-style font-weight font-varient color
(4)文本属性:text-align vertical-align text-wrap text-transform text-indent text-decoration letter-spacing word-spacing white-space text-overflow
(5)css3中新增属性:content box-shadow border-radius transform……