css选择器选择第一个孩子,然后排除孙子?
仅使用CSS,是否可以使用以下HTML:css选择器选择第一个孩子,然后排除孙子?,css,css-selectors,Css,Css Selectors,仅使用CSS,是否可以使用以下HTML: <div class="main"> <div class="level1"> <div class="level2"> <div class="select-me">should be blue</div> <div class="level3"> <div class="
<div class="main">
<div class="level1">
<div class="level2">
<div class="select-me">should be blue</div>
<div class="level3">
<div class="select-me">NOT BLUE</div>
</div>
</div>
</div>
<div class="select-me">NOT BLUE</div>
</div>
应该是蓝色的
不是蓝色的
不是蓝色的
然后只选择第一个元素,并使用classselect me
?使用:first child
,也会选择.level3
下的.select me
元素(因为从技术上讲,它也是第一个子元素)。我希望它选择一个,然后停止
你可以明白我在说什么
我正在寻找一个CSS选择器,如果它存在的话,只正确地突出显示第一个。选择我找到的元素。此选择器也不能使用任何级别*
类,因为这些类始终是动态的
这是可能的吗?不确定是否可以使用单个选择器执行此操作,但将其添加到JSFIDLE应该会恢复不希望匹配的元素的默认样式:
.select-me ~ * .select-me:first-child {
color: black;
background-color: transparent;
}
第一个.select me
元素是否保证是其父元素的第一个子元素?如果是这样,事情就容易多了。如果没有,那么任何数量的CSS选择器都不可能。