在构建页面时,我知道当浏览器重新计算页面上所有元素的尺寸和位置时,尝试尽量减少"布局抖动"或"重排"是一种很好的做法。保罗·爱尔兰(Paul Ireland(制作了一份方便的触发回流的过程列表。他说:
通常,所有同步提供布局指标的 API 都会触发强制重排/布局。
为什么https://developer.mozilla.org/en/docs/Web/API/Window/matchMedia
方法不在此列表中?这不是涉及测量窗口大小吗?我们可以使用它而不用担心导致回流吗?
我相信该列表是正确的,并且matchMedia
不会触发回流。所有媒体查询都经过精心设计,不依赖于页面内容。例如,width
被指定为包括滚动条在内的视口宽度,因此无论是否有滚动条,结果都不会更改。