Если вы на самом деле пытаетесь предназначаться <a>
теги, которые появляются под этими элементами и имели разметку, похожее на следующее:
<div id="A">
<a href='#'>Test A1</a>
<div id="B">
<a href='#'>Test B</a>
</div>
<a href='#'>Test A2</a>
</div>
Вы можете воспользоваться direct descendant operator>
в CSS только целевых элементов непосредственно ниже #A
, а не в это детей:
#A > a {
/* This will only target <a> elements that are beneath #A and not in #B */
color: #FFF;
}
и примером этого может быть seen here и может выглядеть следующим образом:
Update
Похоже, что вы не хотите просто цели <a>
тегов.Если это так, то вы, вероятно, можете обобщить предыдущее заявление только нацеливание элементов не в B под A:
#A > :not(#B) {
color: #FFF;
}
Обновления примера разметки:
<div id="A">
<a href='#'>Test A1</a>
<div id="B">
<a href='#'>Test B</a>
</div>
<div id="C">
I'm in C
</div>
<a href='#'>Test A2</a>
все равно work as expected:
Возможный дубликат [селектор css только для первого прямого ребенка] (http://stackoverflow.com/questions/2094508/css-selector-for-first-direct-child-only) –
Я не хочу ограничивать это направить детей, вот почему я ставлю «....». – omega
Кроме того, посетите https://css-tricks.com/child-and-sibling-selectors/ для более забавного материала на селекторах для детей и сестер. –