浏览器原理 · 单选题 · 第 22 题
前端与全栈开发面试 · 第 22 题
关于外链 CSS 对页面加载的影响,下列说法正确的是?
- ACSS 会阻塞 DOM 解析,样式表下载完成之前 HTML 解析器完全停止工作
- BCSS 不阻塞 DOM 解析,但会阻塞渲染,还会阻塞它后面同步脚本的执行
- CCSS 既不阻塞 DOM 解析也不阻塞渲染,浏览器会先显示无样式的页面内容
- DCSS 只会阻塞图片的加载,对 DOM 解析、页面渲染和脚本执行都没有影响
答案
B B. CSS 不阻塞 DOM 解析,但会阻塞渲染,还会阻塞它后面同步脚本的执行
解析
没有 CSSOM 就无法生成渲染树,所以 CSS 阻塞渲染,这能避免页面先无样式闪一下。同步脚本可能读取样式,所以必须等前面的 CSS 加载完才能执行,间接阻塞了后面的解析。优化方法有:关键 CSS 内联、用 media 属性拆分非关键样式、preload 预加载。