CSS 某些情况下会阻塞 DOM 的生成

在大多数情况下,解析和构建 CSSOM 都会阻塞 DOM 的渲染和构建。

当浏览器遇到外部 CSS 文件的引用或者内联的 CSS 内容时,渲染引擎需要将这些 CSS 内容解析为 CSSOM。这是为了确保在 JavaScript 执行之前,页面的样式信息已经完全准备好。因此,渲染引擎会暂停 DOM 的渲染和构建,直到 CSSOM 构建完成。

这种行为可以确保 JavaScript 在运行时能够准确地反映 CSS 规则和样式。因为 JavaScript 有能力修改和操作 CSSOM,所以它需要在这些操作之前,确保 CSSOM 的完整性。

然而,也有一些特殊情况下,CSS 可能不会阻塞 DOM 的渲染和构建。例如,当使用 media 属性指定了某个外部样式表仅在特定的媒体环境下生效时,浏览器在遇到该样式表时可以选择跳过下载和解析,从而避免阻塞 DOM 的渲染。

总而言之,大部分情况下,解析和构建 CSSOM 都会阻塞 DOM 的渲染和构建。这是为了确保 JavaScript 在运行时能够准确反映 CSS 规则和样式的完整性。当然,具体行为还是取决于浏览器的实现和优化策略。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值