说说页面重排重绘。重排,顾名思义,就是对元素进行重新排列。重绘,顾名思义,就是重绘元素。也许你无法理解。为了帮助我们记忆,我们通过这个例子来看看页面在浏览器上显示的过程。在准备好的Rearrange-redraw.html文件中,定义div和p两个元素,并在head中添加一个style标签,作为内部样式表。定义选择器div,声明样式width:200px;高度:200px;背景颜色:橙色;定义选择器p声明样式width:300px;高度:300px;背景颜色:天蓝色;打开页面,我们看到显示的内容。那么我们写的html和css是如何渲染到页面上的呢?其实首先,浏览器会抓取html结构,生成一个html树结构。这个结构中的所有标签都没有样式出现,只是表示标签与标签之间的父子关系。接下来,浏览器也会得到你写的css样式解析后,生成一个css树结构。这种结构并没有和html结合起来,只是一个css样式描述的树形结构。接下来,浏览器会将获取到的html树和css树结合起来,并将convert两棵树慢慢合并在一起,形成rander树,结合标签和样式在页面上展示效果。最后,浏览器将rander树一一“绘制”到页面上,就出现了我们看到的页面。知道了页面在浏览器上显示的过程,下面说说重排和重绘。当我们通过后面的操作让页面中的节点发生尺寸变化时,整个页面都会因为一个元素的变化而变化。change,后面的元素的位置可能会改变,那么这个时候,所有的元素都会重新排列,也就是会触发重新排列,也就是再次使用html树和css树的组合,生成一个新的randertreeforAnewdrawing当我们通过后面的操作对页面中的节点进行一些外观上的改变时,比如改变背景色、文本颜色、边框颜色等,不会引起页面排列元素的变化,而只会引起页面排列元素的变化。当前节点。变化对其他节点没有影响,所以此时不??需要重新排列元素,只需重绘当前节点即可,这种行为称为重绘
