我明白孩子和后代之间的区别就好了。然而,我有一个与子选择器有关的问题。也许我不正确地理解某些东西。以下面的HTML为例。这是一个3层导航菜单。在CSS根据我对孩子的理解CSS儿童选择器
<div id="nav">
<ul class="menu">
<li><a href="#">Menu Item 1</a></li>
<li><a href="#">Menu Item 2</a>
<ul class="sub-menu">
<li><a href="#">Sub Menu Item 1</a></li>
<li><a href="#">Sub Menu Item 2</a>
<ul class="sub-menu">
<li><a href="#">Sub Sub Menu Item 1</a></li>
<li><a href="#">Sub Sub Menu Item 2</a></li>
<li><a href="#">Sub Sub Menu Item 3</a></li>
</ul>
</li>
<li><a href="#">Sub Menu Item 3</a></li>
</ul>
</li>
<li><a href="#">Menu Item 3</a></li>
</ul>
</div>
(>)选择,下面将是真实的:
#nav {}
#nav ul.menu {}
#nav ul.menu > li {} /* main navigation items only */
#nav ul.menu > li > ul.sub-menu li {} /* the 2nd tier only */
#nav ul.menu > li > ul.sub-menu ul.sub-menu {} /* the 3rd tier only */
这似乎并没有这样的情况。然而。第二层的CSS也被应用到第三层。只有在!important
声明中,我才能覆盖最后一个css定义中的第二层。
有意义吗?
我的一个小疏忽。非常有意义。谢谢! – Chris 2011-06-10 15:21:21
@Chris没问题:)。至少你有使用'''孩子选择器的豪华......仍然坚持在自己支持IE6的网站上工作:( – Niklas 2011-06-10 15:28:09