使用浏览器访问网页时,浏览器总是先加载img 标签里的图片,加载完了才加载 css 里面的图片 。。

能否让css 里的图片 优先加载?
2025-04-27 07:15:21
推荐回答(2个)
回答1:

额,CSS里面背景图片的加载,跟CSS代码放在哪里没有关系,它主要跟HTML中是否应用到这个定义有关,如果没有标签符合相应的选择器,根本不会加载css中的图片。


至于想要预加载css中的图片的话,可以用js操作一下,我下面的样例是加载所有的当前页面中style标签中出现的背景图。

var cssStr = document.getElementsByTagName('style');
for (var i = 0; i < cssStr.length; i++) {
    var t = cssStr[i].innerHTML.match( /http:.*?[")]/g ) ;
    for (var i = 0; i < t.length; i++) {
        var src = t[i].substring(0,t[i].length-1);
        new Image().src = src;
    };
};
优先加载恐怕难以实现,因为dom结构中的img只要写了正确的src就发送请求获取资源去了。

回答2:

你的css文件是否放在head里,如果是这里css就会先加载,这样css里的背景图应该也会先加载进来。