这只是主要的CSS文件,在一些页面上,我正在加载其他CSS文件。
这是很多CSS样式。虽然使用CSS“压缩”工具是个好主意,但你可能想手动检查一遍文件,并寻找可以合并的规则。
margin-top: 10px;
margin-right: 5px;
margin-bottom: 0px;
margin-left: 5px;
可以简化为:
margin: 10px 5px 0 5px;
甚至更进一步:
margin: 10px 5px 0;
同样,边框可以被减小:
border-width: 2px;
border-color: #123456;
border-style: solid;
这可以表示为:
border: 2px solid #123456;
背景、内边距和字体等CSS规则可以写成更短、更高效的格式。这里有一篇关于CSS快捷方式的好文章。
CSS最小化工具是有用的工具,但我不确定它们能否将您的代码重新排列成快捷方式格式。
尝试压缩你的css文件
此外,您还应该注意不要反复编写相同的代码,并针对经常使用的内容使用类。
如果您有像
#content{
border-radius:5px;
}
#nav{
border-radius:5px;
}
.borderAll{
border-radius:5px;
}
并将这些类添加到您的div中
其他可以做的事情包括:
“CSS Sprites是减少图像请求的首选方法。将背景图像合并成单个图像,并使用CSS background-image和background-position属性显示所需的图像段。”- Yahoo Developer Rule
“在研究雅虎的性能时,我们发现将样式表移动到文档HEAD使页面看起来加载更快。这是因为将样式表放在HEAD中允许页面逐步呈现。”
删除最后一个分号
h2 {font-family:Arial; font-color:#333} 更好的写法: h2 {font-family:Arial; font-color:#333}
使用简单颜色:
使用#FFF代替#FFFFFF,使用#ABC代替#AABBCC
你有压缩文件吗?http://www.minifycss.com/css-compressor/
我不会认为2400行CSS太多了。所以也许速度问题是其他的原因?在浏览器中安装Web开发者插件,查看加载了多少资源。
尝试将图像合并成精灵,使用SmushIt压缩图像,并对CSS/JS进行压缩。
在压缩CSS文件的基础上,您应该考虑将CSS文件拆分为多个文件。 如果您有特定的类仅在特定页面中使用,则应该为该特定页面有一个CSS文件,它不会在任何其他地方加载。
您还应确保正确继承样式项,以便不必一遍又一遍地重新编写相同的元素。
<style></style>
标记是一种方法(但后期维护困难)。 - tomasz86我知道这个问题已经得到了很多答案,但是我使用了一个小技巧(需要启用JavaScript),它似乎非常有效 - 即使对于像Chrome这样尽快渲染页面的浏览器。
如果您的压缩和优化文件仍然太慢,这可能会起作用。
通常,许多CSS用于交互式内容,例如:hover、:focus等。这些样式不需要立即加载,您可以在页面完全加载后再加载它们。
因此,我建议将所有:hover和:focus样式或仅用于通过交互可见的任何类样式移动到单独的CSS文件中。然后在JavaScript(Jquery示例)中完全呈现主要HTML内容后加载此单独文件:
$(document).ready(function ()
{
//Render Interactive CSS:
var Link = document.createElement('link'); Link.rel = 'stylesheet';
Link.href = '[Relative Interactive CSS File URL]';
var Head = document.getElementsByTagName('head')[0];
Head.parentNode.insertBefore(Link, Head);
}
参考这个指南: https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery#example
对我来说,即使是小的Interactive.css文件,这也带来了实质性的改进。
希望这能有所帮助!