Meta CSS框架扩展与裁减
Meta CSS说白了本质上就是一个css文件而已,要进行改动是一件很容易的事情,任何开发者都可以随意的往这个css文件里面添加或者删除任意属性与定义。随意的添加或删除当然不是我们希望看到的结果,遵循框架的约定进行增删改,才是真正意义上的扩展与裁减。
注意:根据你自己的项目,对Meta CSS进行扩展与裁减是非常正常的也是很有必要的。
扩展Meta CSS的方式很简单,就是遵循命名规则,添加新的css类定义。假设你要增加一个margin是20px的定义,默认框架中是margin:10px,你就可以添加一个m20p的css类就可以了。具体可以查看Meta CSS文件中的注释。
裁减Meta CSS同样简单,删除文件中你确实不需要用到的属性就可以了。大部分时候,默认的一些字体,内外边距之类的定义往往不一定符合你的需求。
Meta CSS 使用方法
从语法上,你当然可以通过class="fwb tar mr10p pt20p"来创建一个加粗的,右对齐的,右内边距10px,上外边距20px的元素,但是从框架本身的意义来说,这不是非常好的的适用环境。Meta CSS框架适用的环境是:
的确是单一属性的定义。例如只是 class="fwb",加粗一个元素。
对某一个css定义给出特殊情况的补充。参考开头部分提到的例子3。
代码中使用的范例:
.fwb{
font-weight:bold;
}
.tar{
text-align:right;
}
.div1{
border:1px solid #ccc;
padding:15px;
color:green;
width:200px;
margin-bottom:20px;
}
</style>
<div id="d1" class="div1">
第一个div
</div>
<div id="d2" class="div1 fwb">
第二个div,字体加粗
</div>
<div id="d3" class="div1 tar">
第三个div,右对齐
</div>
基本使用方法:下载metacss文件,放到你的css文件夹中,可以采用形如
这样的css引用语句。你可以将metacss中所有的css定义copy到你的css文件中合并到一起,所有的css文件可以怎么做,你都可以怎么做。
Meta CSS框架的局限性
css优先级的影响,你不能保证定义总会生效,如果之前的css类已经包含某些要覆盖的定义,则有可能因为优先级的关系,不能生效。我们稍微修改下上面的例子:
.fwb{
font-weight:bold;
}
.tar{
text-align:right;
}
.div1{
border:1px solid #ccc;
padding:15px;
color:green;
width:200px;
margin-bottom:20px;
text-align:left; /* 更高优先级,无法被tar覆盖 */
}
</style>
<div id="d1" class="div1">
第一个div
</div>
<div id="d2" class="div1 fwb">
第二个div,字体加粗
</div>
<div id="d3" class="div1 tar">
第三个div,预期右对齐,但是事实上不会生效。
</div>
像这个例子里,.div1的text-align有比tar更高的优先级,所以用css组合这种方式就会不起作用。所以在应用框架的时候需要注意这一点。关于css优先级的讨论超出本文的范围,可以自己google一番。