除了重新声明之外,有什么方法可以让CSS不继承样式?


有些时候,CSS继承了父元素的样式会很麻烦。请问有何方法可以清空继承的样式,重新赋值?

web HTML css

渤海湾的老伯伯 10 years, 7 months ago

目前只能通过覆盖的方式清空样式
这个问题应该在写css的时候考虑到后面的问题
一般只有 通用 的样式,和 结构固定 的模块适合使用继承来应用css
否则的话,不应该让样式随便继承,对于结构或表现差异很小的两个模块,也不适合用继承来实现
好点的方式是:把 同样的,不易变化的 样式部分抽离出来,然后用 组合 的方式应用到不同模块。
比如两个div
<div class="a"></div>
<div class="b"></div>
可以提取出共同的样式,放在一个声明下:
.fixedAd {position:fixed;width:200px;height:200px;border:1px solid #ccc;}
然后对于不同的div编写自己的样式:
.a {color:#ffc;background:#ccf;}
.b {color:#777;background:#999;}
最后组合的html结构是:
<div class="a fixedAd"></div>
<div class="b fixedAd"></div>
总之是: 组合优于继承 这个和编程的道理差不多,呵呵

囧rz—— answered 10 years, 7 months ago

Your Answer