You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS中未匹配DOM元素的选择器内的url()资源是否会被加载?

结论

你给出的示例中,没有匹配到DOM元素的.not-box选择器对应的背景图不会被Chrome、Firefox、Safari、Edge等主流浏览器加载,不会占用当前页面的加载时长。

你可以自行通过浏览器开发者工具的「网络」面板验证该逻辑:过滤图片类请求后刷新页面,只会出现div.box对应的图片请求,.not-box的图片不会出现在请求列表中。

浏览器CSS资源加载基础规则

浏览器加载url()关联的资源时,普遍遵循以下逻辑:

  • 只有当CSS选择器匹配到当前页面的真实DOM元素,且对应样式规则处于生效状态时,才会发起资源请求
  • 除background-image外,border-image、list-style-image、content: url()等所有用到url()的CSS属性,都符合这个规则
  • 如果后续通过JS动态给元素添加了.not-box类名,浏览器会在类名生效、样式命中元素时,才发起对应图片的加载请求
特殊例外场景

只有以下特殊场景,未命中选择器的资源才会被提前加载:

  • 你手动通过link rel="preload"指令主动声明预加载对应资源
  • 部分老旧浏览器对@font-face声明的字体资源存在全量加载的逻辑,但现代浏览器已经优化为仅加载页面实际用到的字体规则

内容的提问来源于stack exchange,提问作者Student Edge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 08:15:04