Html 为什么不使用多个css文件?

Html 为什么不使用多个css文件?,html,css,Html,Css,因此,我知道一般来说,在站点的head标签中放置多个css文件不是最佳做法,因为您必须发出的http请求数量会增加。因此,我建议只使用一个大的css文件,而不是较小的css文件。然而,将css文件分解成单独的、较小的文件,然后只在需要的页面上链接这些单独的css文件,这难道没有意义吗?假设我的主页有自己的样式集,我的about页面显然会与我的主页不同,它有自己的样式集。那么,为什么不将homepage.css文件链接到html主页,然后只将about.css文件链接到html about页面呢?

因此,我知道一般来说,在站点的head标签中放置多个css文件不是最佳做法,因为您必须发出的http请求数量会增加。因此,我建议只使用一个大的css文件,而不是较小的css文件。然而,将css文件分解成单独的、较小的文件,然后只在需要的页面上链接这些单独的css文件,这难道没有意义吗?假设我的主页有自己的样式集,我的about页面显然会与我的主页不同,它有自己的样式集。那么,为什么不将homepage.css文件链接到html主页,然后只将about.css文件链接到html about页面呢?在每种情况下仍然只有一个http请求,并且您可以拥有更小的css文件。有什么我遗漏的吗

CSS是缓存的,因此如果你要链接到你主页上的大CSS文件(比如domain.com/CSS/homepage.CSS),那么用户从你的主页移动到about页面,它会调用相同的homepage.CSS,但你的浏览器会说“等等!我已经有了!”并跳过对该文件的HTTP请求,导致没有额外的请求

当每个页面都有一个CSS文件时,就会有一个对几乎相同的CSS文件的请求,这是在不必要地浪费带宽。对于较小的站点来说,这似乎不是什么大不了的事情,但如果较大的站点发生了1000次请求,那么额外的带宽就会增加,并导致更高的运营成本


唯一的例外是,当您使用某种响应性框架(如引导)时,编辑主引导文件要么不可能(通过CDN),要么不切实际且难以维护(即,当引导更新时,您将失去所有定制),在这种情况下,您将拥有一个bootstrap.min.css文件和一个custom.css文件,允许您在稍微增加带宽的同时保留自定义设置。

css文件是缓存的,因此,如果您只加载一个,则用户只会在所有页面上从缓存中加载一个,如果他想换一个新的css页面,他必须将新的css文件添加到缓存中,而不是加载已经缓存的css文件。非常感谢您帮助理解这一点!