在CSS中,如何选择在其后面有同级标记的标记?
HTML是这样的:在CSS中,如何选择在其后面有同级标记的标记?,css,css-selectors,Css,Css Selectors,HTML是这样的: <ul> <li> <a>Menu 1</a> </li> <li> <a>Menu 2</a> <ul> <li>Sub menu 2</li> </ul> </li> <li>
<ul>
<li>
<a>Menu 1</a>
</li>
<li>
<a>Menu 2</a>
<ul>
<li>Sub menu 2</li>
</ul>
</li>
<li>
<a>Menu 1</a>
</li>
</ul>
如何使用纯CSS选择后面有同级标记的标记
在上面的示例中,它将是菜单2。这里是一个可以参考的JSFIDLE文件 CSS HTML
不幸的是,我认为你不能 css2包括,它允许您选择紧跟在另一个元素之后的元素 例如,a+ul将选择包含文本“子菜单2”的 css3包括,它允许您选择紧跟在另一个元素之后的元素,即使它们之间有元素 例如,a+ul将选择包含文本“Sub-menu 2”的用户,即使与之间存在a 但两者都没有选择器,允许您选择一个元素,该元素后面有特定的元素。可能通过第n个子元素
ul li:nth-child(2) a { color:#009; }
选择第二个列表项,然后选择后续的定位标记
基本上,使用纯CSS是不行的。如果您选择了子菜单2项,并且OP想要选择菜单2项,您可以这样做。不,请阅读问题。选择具有同级UL的锚。@GusDeCooL这允许您选择锚。。但是没有使用CSS选择父元素的方法。所以答案是-对于纯CSS,你不能或者你必须特别指定锚。
<ul>
<li>
<a>Menu 1</a>
</li>
<li>
<a>Menu 2</a>
<ul>
<li>Sub menu 2</li>
</ul>
</li>
<li>
<a>Menu 1</a>
</li>
</ul>
ul li:nth-child(2) a { color:#009; }