css的继承:就是给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承。
官方解释,继承是一种规则,它允许样式不仅应用于特定的html标签元素,而且应用于其后代元素。
有些时候,CSS继承了父元素的样式会很麻烦。请问有何方法可以清空继承的样式?如何让css不继承样式?
目前只能通过覆盖的方式清空样式
这个问题应该在写css的时候考虑到后面的问题
一般只有通用的样式,和结构固定的模块适合使用继承来应用css
否则的话,不应该让样式随便继承,对于结构或表现差异很小的两个模块,也不适合用继承来实现
好点的方式是:把同样的,不易变化的样式部分抽离出来,然后用组合的方式应用到不同模块。
比如两个div
可以提取出共同的样式,放在一个声明下:.fixedAd {position:fixed;width:200px;height:200px;border:1px solid #ccc;}
然后对于不同的div编写自己的样式:.a {color:#ffc;background:#ccf;}
.b {color:#777;background:#999;}
最后组合的html结构是:
总之是:组合优于继承 这个和编程的道理差不多,呵呵