CSS样式表成功减肥


5步让你的CSS样式表成功减肥


css-压缩-减肥

你有没有觉得你的CSS样式表文件过于臃肿?其实如果你注意并培养一些比较好的CSS书写习惯,我想你的CSS样式表过于”肥胖”的问题会得到很好的改善的。来看看下面的简单5步吧,掌握之后你便能立即为你的CSS样式表修身了。

第一步:学会如何组合选择器

什么是选择器?
如果你还不知道什么叫做”选择器”,你可以先参考一下w3schools.com的CSS语法概述

未优化的CSS代码
在下面的图例中,你会看到来自三个不同选择器的同样的CSS属性声明。

css-压缩-教程
点击小图浏览清晰大图

优化的CSS代码
你可以将上面的css代码优化组合,让所有CSS选择器使用同一组属性。每个选择器之间用逗号分割开,像下面这样。

1
2
3
4
5
6
7
h2 , p , . block {
    font-size : 1.5em ;
    padding : 10px 10px 10px 25px ;
    margin : 10px 0 ;
    border : 1px solid #ddd ;
    background : #f0f0f0 url ( crown.gif ) no-repeat 5px 10px ;
}

查看Demo实例

第二步:了解CSS选择器优先级

什么是CSS优先级?
选择器优先级是用于在CSS代码中同一个选择器使用不同属性时CSS优选处理哪些属性的规则。对选择器优先级不了解的话可以参考:Juicy Studio –选择器优先级

未优化的CSS代码
理解优先级规则中不同等级重要性是很必要的,如果写了同样优先级的CSS声明将有可能导致代码冲突和代码臃肿。

css-优先级
点击小图浏览清晰大图

查看Demo实例

优化的CSS代码
当你完全掌握CSS选择器优先级之后,你便能通过合并统一的属性声明来所见代码量,然后再单独声明元素的独有属性。你会很快找到优化CSS代码的技巧,对完成合并和匹配代码。下面是关于优化上图代码的实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
h2 {
    font-size : 1.5em ;
    padding : 10px 10px 10px 25px ;
    margin : 10px 0 ;
    border : 1px solid #ddd ;
    background : #f0f0f0 no-repeat 5px 10px ;
}

h2 .best { background-image : url ( crown.gif ) ; }
h2 .fav { background-image : url ( heart.gif ) ; }
h2 .comments { background-image : url ( balloon.gif ) ; }
h2 .twitter { background-image : url ( balloon_twitter.gif ) ; }

#featured h2 .twitter {
    background-color : #fffdd7 ;
    border : 1px solid #ddd991 ;
}

你还可以参考以下相关文章:

第三步:学会如何合并类和ID

和之前类似,你也可以通过匹配合并class名和id值来优化你的CSS代码。请记住,为同一个元素添加不同的多个class,你就可以通过组合不同的属性声明在实现你希望的效果。在适当的位置添加id属性也是可以让你对样式有更多的控制权。

HTML

1
2
3
4
5
6
7
8
<divid="featured">
    <h2 class="best double">Best of </h2>
    <h2 class="fav double">Popular Posts </h2>
</div>
<div id="disable">
    <h2 class="comments double">Comments </h2>
    <h2 class="twitter double">Twitter </h2>
</div>

CSS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...

h2 .best { background-image : url ( crown.gif ) ; }
h2 .fav { background-image : url ( heart.gif ) ; }
h2 .comments { background-image : url ( balloon.gif ) ; }
h2 .twitter { background-image : url ( balloon_twitter.gif ) ; }
h2 .tools { background-image : url ( wrench_screwdriver.gif ) ; }

h2. double {
    width : 263px ;
    float : left ;
    margin : 0 ;
}
#featured h2. double {
    background-color : #ffe2e2 ;
}
#disable h2 {
    filter :alpha (opacity = 40 ) ;
    opacity :.40 ;
    -ms-filter : "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)" ;
    background-color : #d5d5d5 ;
}

第四步:学会CSS简写

CSS简写可以让你将多行的CSS属性声明缩写成简单的一行代码。现在你在很多地方都可以找到CSS缩写的相关教程,你也可以浏览以下CSS缩写教程:

第五步:将你的样式表分成几部分–@import

在你完成一个比较大的网站项目时,你的样式表中的代码量是相当庞大的,也许会有很多不同模块的CSS声明及注释。这种情况下,你可以考虑使用将一个庞大的样式表切割成几个不同模块的小样式表,然后再用@import将他们组合起来。

HTML
你可以像平常一样调用一个样式表

1
<linkrel="stylesheet"type="text/css"href="styles.css"/>

CSS – styles.css
这时styles.css作为你的主样式表,它将负责调用其它子样式表。(我会把子样式表放在’styles’ 目录下以便于组织管理,纯属个人习惯,你也可以有自己的习惯)

1
2
3
@import "styles/main.css";
@import "styles/checkout.css";
@import "styles/shoppingcart.css";

译者注:@import虽然能够为某个大的CSS文件减肥,但是它在页面读取方面(尤其IE)还是有弊端的。感兴趣的读者可以看看这篇文章:
《Don’t Use @import》

你还可以参考以下相关文章:

留意更新

订阅彬Go以查看CSS最新教程及资源。

英文原文:5 Step Style Sheet Weight Loss Program
翻译原文:5步让你的CSS样式表成功减肥(彬Go)

转载声明:
原载: 彬Go——集前端开发/网页设计/网站可用性/用户体验于一体的趣味互联网生活
本文链接: http://blog.bingo929.com/optimizing-css-tutorial-div-css.html
如需转载必须以链接形式注明原载或原文地址,谢谢合作

第一步,我们需要安装Firefox30,不能高于30; http://ftp.mozilla.org/pub/firefox/releases/30.0b9/win32/zh-CN/Firefox Setup 30.0b9.exe 安装浏览器后关闭自动升级: 打开Firefox浏览器--打开菜单(右上角三条横杆)--选项--更新--不检查更新 另外可以将反馈选项中的都取消 第二步,安装前端开发人员最普及的开发工具 Firebug-2.0.16 (下载包中有) 安装方法: 打开Firefox浏览器--打开菜单(右上角三条横杆)--附加组件--扩展--点击右上角有个雪花一样的设置按钮--从文件安装附加组件--选择firebug-2.0.16-fx.xpi安装就可以 第三步,安装CSS Usage 0.2.9(下载包中有) 第四步,在Firefox浏览器中打开我们要优化的页面(本地的页面也可以),点击右上角的firebug(有个小蜜蜂图标),打开firebug工具窗口,我们会看到在工具选项中我们有一个 CSS Usage工具的按钮。 首先我们来分析最上面的三个功能按钮的使用 Scan: 通过字面意思我们就能知道,这是一个扫描当前页面的工具,如果我们的站点只有一个页面或者几个页面,我们可以通过使用此功能按键来查看页面的css实用情况. Clear: 清除扫描结果,当我们查看完网页,并对CSS 进行了修改后,我们就不需要以前的扫描结果了,那么我们就可以使用Clear功能键,清除以前的扫描结果缓存,重新开始其他的扫描. AutoScan: 我们的网站可能会有很多的页面,更有可能有很多的弹出层,如果我们每次都点击扫描的话,会占用我们大量的时间,AutoScan功能键可以使我们的扫描工作更自动化,提高我们的工作效率. 简单来说: Scan: 扫描当前页面的CSS使用情况。 Clear:清除扫描结果。 AutoScan:自动扫描每个打开的页面。 我们可以使用AutoScan的叠加结果 然后CSS文件名称后面有个export cleaned css 点击后可导出扫描的结果,结果就是干净的CSS文件。 我们能看到这一句Line CSS Selector Seen, Seen before, Unseen, :hover,告诉我们” 列出CSS选择器的状态: 绿色–表示当前扫描看到的,=保留 深绿色–的以前的扫描中看到的,=保留 红色–的表示在当前和以前扫描中均未发现的.=这部分可以清除 灰色–的代表伪类的选择器CSS,这部分将会被忽视. 如果我们仅仅是给CSS减肥的话,那我们就可以对红色的选择器开始动手了 注意,说了这么久,大家一定知道了CSS Usage是一个扫描冗余CSS样式的工具,可以清理多余的CSS样式, 但是,你一定要扫描足够多的网页,尽可能地找到最多的样式。 同时,CSS Usage还提供给我们关于CSS某个选择器被实用多少次的统计,就是CCS文件后面的(1 scans) 如果我们一直使用 Auto Scan功能的话,我们的Scan次数也是在累积的,比如我们从首页到博文目录、再到图片、最后到达关于我,每一次页面跳转,CSS Usage 都会自动增加页面的扫描次数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值