在使用了许多cms和切割了许多HTML设计之后,当我看到SilverStripe对CSS的使用时,我被转换了。
从本质上讲,根据您所在的页面更改<div>
标签中的ID将是浪费,而更改<body>
标签的类和ID将是更改特定页面的更简单方法。
这样的信念在下面的问题中被一位同事提出了质疑:
在一个特定的网站上,我们有各种结构相似的页面。有些可能包括一个特殊的形式,有些可能没有。所有特殊的表单都应该有不同的背景图像,这取决于我们所在的子节。
由于有人声称"额外的CSS行减慢了body.onLoad
s",我在CSS中编码所有背景期望的论点被拒绝了。
有人能举出不同案例之间的证据吗?情况包括:编码糟糕的CSS和编码良好的CSS,但在每个页面上都有各种未使用的CSS ?
具体说到我的问题,有人能解释我的不安吗?假设图像将在那里,并根据数据库中的变量自动生成内联CSS(或基于标题节的样式标签),我感到不舒服。这无关紧要(明显),除非你的网站是Gmail或YouTube(或类似的CSS重)。
Google在他们的页面速度指南中有一些建议:
http://code.google.com/speed/page-speed/docs/payload.html RemoveUnusedCSS
关于:删除或延迟样式规则是不是用一个文件就可以避免下载不必要的字节并允许浏览器可以更快地开始渲染
在浏览器开始呈现网页,它必须下载和解析所需的任何样式表排版这一页。即使是样式表在缓存的外部文件中,渲染被阻塞,直到浏览器从磁盘加载样式表。在另外,一旦样式表是加载,浏览器的CSS引擎中包含的每条规则查看该规则是否适用于的文件当前页面。通常,许多web站点重用相同的外部CSS文件对于所有的页面,即使很多其中定义的规则都不适用到当前页
最好的方法最小化由以下因素引起的延迟样式表加载和呈现时间是减少CSS占用空间;一个显而易见的方法就是移除或者推迟不需要的CSS规则当前页面实际使用的
由于声称"附加行"CSS的减速体。onload",我参数到代码的所有后台
额外的时间大约是几毫秒。做更容易和可维护的事情,而不是更"有效"的事情。