如果包含图像图标,则最小化HTML页面加载时间

如果包含图像图标,则最小化HTML页面加载时间,html,css,Html,Css,我希望我的html页面加载速度尽可能快。所以我尝试将所有CSS样式放在同一个.CSS文件中,将所有JavaScript代码放在一个.js文件中。我的同事告诉我,它使网页加载更快。我想问一些关于它的问题 可以肯定的是:我的同事们说得对吗?在哪些情况下,最好将CSS或JS代码分解到单独的文件中 问题是:如果我的页面上有很多小图标,比如“删除、编辑、添加”,我应该一次加载所有图标还是分别加载每个图标?如果一次加载所有图标,如果图标大小为40x40px,如何选择所需的图标 谢谢大家! 我的同事们说得

我希望我的html页面加载速度尽可能快。所以我尝试将所有CSS样式放在同一个.CSS文件中,将所有JavaScript代码放在一个.js文件中。我的同事告诉我,它使网页加载更快。我想问一些关于它的问题

  • 可以肯定的是:我的同事们说得对吗?在哪些情况下,最好将CSS或JS代码分解到单独的文件中

  • 问题是:如果我的页面上有很多小图标,比如“删除、编辑、添加”,我应该一次加载所有图标还是分别加载每个图标?如果一次加载所有图标,如果图标大小为40x40px,如何选择所需的图标

谢谢大家!

我的同事们说得对吗

单个文件可以通过单个HTTP请求(使用单个HTTP头集等)下载,并且可以比多个文件更有效地进行压缩。因此,从性能角度来看,如果需要所有内容,最好将它们放在单个文件中

在哪些情况下,最好将CSS或JS代码分解到单独的文件中

当您需要快速加载特定页面(例如主页)时,或者当站点的某些部分使用了大量其他地方未使用的脚本时,将文件拆分是非常有益的

如果我的页面上有很多小图标,比如“删除、编辑、添加”,我应该一次加载所有图标还是分别加载每个图标

从性能的角度来看,同样的规则也适用。但是,无法指定内容图像(不修饰文本的图标是内容图像)只是更大文件的一部分。你必须使用涉及背景图像的黑客。这打破了对内容和风格的关注,通常涉及到使用语义不正确的元素,然后需要进一步的hackery为看不到图像的用户提供替代内容,而hackery很少能像alt属性那样出色

如果一次加载所有图标,如果图标大小为40x40px,如何选择所需的图标

您有一个具有特定尺寸的元素和一个设置了背景位置的背景图像,以便只显示图像的一部分

我的同事们说得对吗

单个文件可以通过单个HTTP请求(使用单个HTTP头集等)下载,并且可以比多个文件更有效地进行压缩。因此,从性能角度来看,如果需要所有内容,最好将它们放在单个文件中

在哪些情况下,最好将CSS或JS代码分解到单独的文件中

当您需要快速加载特定页面(例如主页)时,或者当站点的某些部分使用了大量其他地方未使用的脚本时,将文件拆分是非常有益的

如果我的页面上有很多小图标,比如“删除、编辑、添加”,我应该一次加载所有图标还是分别加载每个图标

从性能的角度来看,同样的规则也适用。但是,无法指定内容图像(不修饰文本的图标是内容图像)只是更大文件的一部分。你必须使用涉及背景图像的黑客。这打破了对内容和风格的关注,通常涉及到使用语义不正确的元素,然后需要进一步的hackery为看不到图像的用户提供替代内容,而hackery很少能像alt属性那样出色

如果一次加载所有图标,如果图标大小为40x40px,如何选择所需的图标


您有一个具有特定尺寸的元素和一个设置了背景位置的背景图像,这样只有您想要显示的部分图像。

将CSS和JS代码合并到一个共享文件中,可以缩短首次加载后所有加载的加载时间,只要浏览器在缓存中使用文件的版本,而不是再次下载。有许多因素可以影响这一点,但在正常情况下,它应该会起作用


此外,请确保图像文件的存储分辨率与显示分辨率相同。以20 x 20像素显示一个40 x 40像素的文件意味着您已经下载了所需图像大小的四倍。如果同一图标文件在HTML文档中的多个位置被引用,则该图标文件将只下载一次,因此,它对页面加载时间几乎没有影响。

将CSS和JS代码整合到共享文件中,可以在第一次加载后缩短所有加载时间,只要浏览器在缓存中使用文件的版本,而不是再次下载。有许多因素可以影响这一点,但在正常情况下,它应该会起作用


此外,请确保图像文件的存储分辨率与显示分辨率相同。以20 x 20像素显示一个40 x 40像素的文件意味着您已经下载了所需图像大小的四倍。如果同一图标文件在HTML文档中的多个位置被引用,那么该图标文件将只被下载一次,因此它对页面加载时间几乎没有影响。

考虑到浏览器缓存,破坏CSS文件并不是一个真正的问题

分解JS文件是可以的。您可以使用一个JS来处理页面加载到
标记中所需的内容。还有一个js,在
之后为您提供交互。这样做不会产生各种效果,但可以确保用户看到文本内容


关于你的图像,有一种做法叫做。您可以使用它为您的小图像创建一个大文件,并使用CSS背景位置仅显示您想要的部分。这就像根据css类裁剪图像文件。

考虑到浏览器缓存,破坏css文件并不是一个真正的问题

分解JS文件是可以的。
.delete{ background-image:url('../img/icons.png');
         background-position:0px 0px;
 }
.add {background-image:url('../img/icons.png');
         background-position:0px 40px; 
}
.share {background-image:url('../img/icons.png');
         background-position:40px 0px; 
}
.edit { background-image:url('../img/icons.png');
         background-position:40px 40px;
}