我有以下html
<div class="section">
<div>header</div>
<div>
contents
<div>sub contents 1</div>
<div>sub contents 2</div>
</div>
</div>
以及下面的风格:
DIV.section DIV:first-child
{
...
}
出于某种原因,我不理解的风格被应用到“子内容1”<div>以及“标题”<div>。
我认为样式上的选择器只会应用于带有“section”类的div的第一个直接子元素。我如何改变选择器来得到我想要的?
你发布的字面意思是“找到任何在section divs内的divs,并且是他们父母的第一个孩子。”子包含一个与该描述匹配的标记。
我不清楚你是否想要主div的两个子div。如果是,请使用以下语句:
div.section > div
如果你只想要头部,使用这个:
div.section > div:first-child
使用>将描述更改为:“查找分段divs的直接后代的任何div”,这是您想要的。
请注意,除了IE6,所有主流浏览器都支持此方法。如果IE6支持是关键任务,您将不得不向子div添加类并使用它。否则,它就不值得关心。
CSS被称为级联样式表,因为规则是继承的。使用下面的选择器,将只选择父div的直接子div,但它的规则将被该div的子div继承:
div.section > div { color: red }
现在,这个div和它的子div都是红色的。如果你不想让它继承,你需要取消你在父节点上设置的任何东西:
div.section > div { color: red }
div.section > div div { color: black }
现在只有div.section的直接子div是红色的,但它的子div仍然是黑色的。
你发布的字面意思是“找到任何在section divs内的divs,并且是他们父母的第一个孩子。”子包含一个与该描述匹配的标记。
我不清楚你是否想要主div的两个子div。如果是,请使用以下语句:
div.section > div
如果你只想要头部,使用这个:
div.section > div:first-child
使用>将描述更改为:“查找分段divs的直接后代的任何div”,这是您想要的。
请注意,除了IE6,所有主流浏览器都支持此方法。如果IE6支持是关键任务,您将不得不向子div添加类并使用它。否则,它就不值得关心。