{CSS}CSS继续性之深入剖析(2)
在CSS中,继续是一种非常自然的行为,我们甚至不需要考虑是否能够这样去做,但是继续也有其局限性。
首先,有些属性是不能继续的。这没有任何原因,只是因为它就是这么设置的,标准就是如此。举个例子来说:border属性,大家都明白border属性的作用是设置元素的边框的,它就没有继续性。假如继续了边框属性,那么文档看起来就会很希罕。例如我们定义容器div的边框为1px,而在此容器内的ul li在正常情况下我们都不希望它有边框,假如border有继续性,我们就要再去掉它们的边框。这样显然是不合理的。
多数边框类的属性,如:Border(边框)、Padding(补白)、Margin(边界)、背景等等,都是没有继续性的。
在某些时候继续也会带来一些错误,比如说下面这条CSS定义:
Body{color:blue}
这是定义了Body中的文本颜色为蓝色。假如Body中含有表格,在有些浏览器中这句定义会使除表格之外的文本变成蓝色,而表格内部的文本颜色并不是蓝色。从技术上来说,这是不正确的,但是它确实存在。所以我们经常需要借助于某些技巧,比如将CSS定义成这样:
Body,table,th,td{color:blue}
这样表格内的文字也会变成蓝色了。