在处理了许多CMS并切断了许多HTML设计后,当我看到SilverStripe's use of CSS时,我被转换了。
基本上,根据您所在的页面更改<div>
标记中的ID会很浪费,并且更改<body>
标记的类和ID将是更改特定内容的更简单方法页。
在下列问题中,同事对此类定罪提出质疑:
在特定网站上,我们有各种结构相似的网页。有些可能包含特殊形式,有些则可能没有。根据我们所处的子部分,所有特殊形式应具有不同的背景图像。
由于声称“额外的CSS行减慢了body.onLoad
”,我对CSS中所有背景预期进行编码的论点被拒绝了。
有人可以引用各种案件之间的证据吗?案例包括:编码不良的CSS和编码良好的CSS,但每页都有各种未使用的CSS?
(具体来说,关于我的问题,有人可以解释我的不安吗?我觉得不舒服假设图像会在那里并根据数据库中的变量自动生成内联CSS(或基于标题部分的样式标记)。)
答案 0 :(得分:7)
除非你的网站是Gmail或YouTube(或者类似的CSS重),否则它并不重要(显着)。
Google在其“页面速度”指南中提供了一些建议:
http://code.google.com/speed/page-speed/docs/payload.html#RemoveUnusedCSS
删除或推迟使用的样式规则 避免使用文档 下载不必要的字节并允许 浏览器可以更快地开始渲染。
在浏览器开始渲染之前 网页,它必须下载和解析 任何需要的样式表 布置页面。即使是样式表 在缓存的外部文件中, 渲染被阻止,直到浏览器 从磁盘加载样式表。在 另外,一旦样式表是 加载,浏览器的CSS引擎 评估包含的每个规则 该文件以查看规则是否适用 当前页面。通常,很多网站 站点重用相同的外部CSS文件 对于他们所有的页面,即使很多 其中定义的规则不适用 到当前页面。
最好的方法 最小化由此引起的延迟 样式表加载和渲染时间 是减少CSS足迹; 一个明显的方法是删除 或者推迟不是的CSS规则 实际使用的当前页面。
关于这个:
由于声称“附加行 CSS减慢了body.onLoads,“我的 编码所有背景的参数 CSS的期望被拒绝了。
额外的时间大约是几毫秒。做什么更容易和可维护,而不是更“高效”。