2012-01-31 143 views
1

您认为哪种方式更快,有一个'main.css'样式表,然后为网站的每个部分添加一个样式表,然后使用'main.css'样式表一个额外的样式表为整个网站的其余部分?额外的样式表会通过body ID和classes钩住元素,并且需要更长的选择器。例如,#body-id .page-wrap。
问题归结为:为特定样式的段(10-20个独特元素)添加额外的选择器是否比非缓存样式表的附加HTTP请求更多地降低了网站的速度?CSS优化速度更快

回答

4

问题归结为:为特定样式(10-20个唯一元素)添加额外的选择器是否会使网站的速度超过对非缓存样式表的额外HTTP请求?

否。由于网络延迟,HTTP请求总是会变慢。这就是为什么你会看到页面逐步加载和呈现 - 这是因为浏览器在计算和呈现样式方面非常出色,以至于在下载页面时出现

虽然这完全取决于你。如果服务器端性能至关重要,最好将HTTP请求保持在最低限度,但不要牺牲它的可维护性。忘掉选择器解析或渲染性能,因为这些东西通常由浏览器担心。

+0

'正在下载页面时发生。' - 某些事情没有发生在我身上。谢谢! – 2012-01-31 15:11:50

0

你应该选择2:“拥有'main.css'样式表,然后为整个网站的其余部分添加一个样式表”。 因为只有第一次它会加载CSS,然后从浏览器缓存中提供。制作一个http请求总是很昂贵,因为它带有一些额外的cookies(aprx:270b)字节,标题信息,请求/响应时间(网络延迟)以及对apache的额外请求。

确保您的服务器上启用了缓存标头,对于css/js/images的浏览器缓存,希望您已拥有此缓存标头。

0

作为一个经验法则,我有一个main.css,其中包含网站中多个页面上使用的任何样式。对于其他所有内容,我将样式放在相应页面的头部。