当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS之少用继承,多用组合

CSS样式表
CSS优先级规则的细节
CSS失效,原来是和网页第一段代码有关
你真的了解CSS吗?你是属于哪个层次?
让样式表CSS代码更加专业规范
建议网页设计师用CSS制作网站导航菜单
简单学习css组合与CSS嵌套的写法
CSS学习之css代码的简写的十条规则
条件CSS的介绍
CSS教程:网页中多个样式表顺序问题
CSS教程:网页版面设计无效的10个原因
页面重构工程师应该具有的技能和素质
选择正确DOCTYPE解决CSS在网页失效问题
Opera中国的WEB标准课程
简单介绍Web Developer插件制作网页
CSS布局带来的巨大影响:CSS display属性值
用div css模拟表格对角线
IE Firefox在css中的差别 (部分)
不用js可以实现信息提示效果
CSS解决未知高度的垂直水平居中自适应问题
CSS cursor 属性 -- 鼠标指针样式效果

CSS样式表 中的 CSS之少用继承,多用组合


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 107 ::
收藏到网摘: n/a

继承是 css中经常要用到的技术,好处是可以尽量让页面的代码减少重复利用,但是随时项目越来越大,需求的不断变化,css代码就会变得越来越臃肿,后期难以控制和维护。其实,css代码和普通程序代码在编写的时候有很多的相似之处,下面我们就用试试用组合的方式是不是能更好的解决这个问题。 下面是一段普通的代码:
css:
复制代码 代码如下:

.box{
border:1px solid #ccc;
font-size:12px;
background:#f1f1f1;
padding:10px;
}

html:
复制代码 代码如下:

<div class="box">this is a gray box</div>

但是这个时候需求增加了,在页面中不仅要有一个灰色的盒子可能还有蓝色的盒子,可能还有绿色,通常我们会说用集成嘛,好我们就做如下更改
css:
复制代码 代码如下:

.box-gray,
.box-green{
border:1px solid #ccc;
font-size:12px;
padding:10px;
}
.box-gray{background:#f1f1f1}
.box-green{background:#66ff66}

Html:
复制代码 代码如下:

<div class="box-gray">this is a gray box</div>
<div class="box-green">this is a green box</div>

但是这个时候需求又有变化了,根与应用的不同,盒子中有些要用到12号字,有些要用到14号字,有些要变局10px有些要20px,估计这个时候你就要头大了,如果要用用继承css代码就会变得异常的复杂,那我们就来试验一下用组合的方式看能不能解决。
css:
复制代码 代码如下:

.fs-12{font-size:12px}
.fs-14{font-size:14px}
.pd-10{padding:10px}
.pd-20{padding:20px}
.box{
border:1px solid #ccc;
}
.box.gray{background:#f1f1f1}
.box.green{background:#66ff66}

Html
复制代码 代码如下:

<div class="box gray fs-12 pd-20">this a gray fontsize12px padding20px box</div>
<div class="box green fs-14 pd-10">this a gray fontsize14px padding10px box</div>

….
我们看一些虽然在class上引用了几个,但是代码和逻辑都非常清晰,而且非常容易维护,随意组合随意扩展。从上面可以看到“组合”的方式是不言而喻的,但是也不是十全十美的,再拆分组合的时候一定不要过度,不然效果可能适得其反,只有把组合+继承运用的恰到好处才能让我们的代码更加优雅和艺术。