【发布时间】:2011-07-02 02:37:49
【问题描述】:
有没有办法声明一个元素的 CSS 属性,这样它就不会影响它的任何子元素,或者有没有办法声明一个元素的 CSS 来实现指定的样式而不继承任何声明的样式给它的父母?
一个简单的例子
HTML:
<body>
<div id="container">
<form>
<div class="sub">Content of the paragraph
<div class='content'>Content of the span</div>
</div>
</form>
</div>
</body>
CSS:
form div {font-size: 12px; font-weight: bold;}
div.content
{
/* Can anything go here? */
}
在正常情况下,文本块“段落的内容”和“跨度的内容”都会是 12px 和粗体。
是否有一个属性要包含在“div.content”块中的上述 CSS 中,这将阻止它继承“#container form div”块中的声明以将样式限制为“段落的内容”并备用“跨度内容”,包括任何其他子 div?
如果您想知道为什么,我创建了一个特定的 CSS 文件,它为我的项目中的所有表单赋予了特定的感觉,并且表单下的 div 元素都继承了这种感觉。没问题。但是在表单内部我想使用 Flexigrid 但 flexigrid 继承了样式,它看起来没用。如果我在表单之外使用 flexigrid 并且它不会继承表单 css,那么它看起来很棒。否则它看起来很糟糕。
【问题讨论】:
-
很遗憾不能再回答了;但这将有助于解决您的问题:css-tricks.com/child-and-sibling-selectors
-
还要查看'initial'值,很多情况都会这样解决,例如--display:initial;
标签: css