为什么在CSS里用dns-prefetch预加载图片域名没效果?

Dev · 世杰 阅读 67

我在做页面优化时,想用dns-prefetch预加载第三方图片域名,但发现DNS查询还是延迟了。之前在CSS文件里这样写的:


/* 图片资源预加载 */
@dns-prefetch images.example.com;
@dns-prefetch static.res.example.net;

然后在HTML里也加了标签,但用Chrome开发者工具看网络面板,第三方图片的DNS查询时间还是显示在页面加载中期才开始。我特意清空了浏览器缓存重新测试,结果还是一样…

奇怪的是如果直接在HTML head里写就能生效,为什么CSS里写同样的规则就无效呢?是不是语法哪里错了?

我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
UX-苗苗
UX-苗苗 Lv1
你这个写法确实有问题。CSS里不能直接用@dns-prefetch,这玩意儿是HTML标签的属性,不是CSS的语法。

要这样写才有效:
<link rel="dns-prefetch" href="https://images.example.com">
<link rel="dns-prefetch" href="https://static.res.example.net">


我之前也试过想在CSS文件里写这玩意儿,结果折腾半天发现根本没用,浏览器根本不认。这东西必须放在HTML里才生效。
点赞 6
2026-02-03 17:05