Селекторы CSS Выбор элемента только в том случае, если внутри другого элемента
У меня вопрос о селекторах CSS. Как выбрать <div>
с определенным именем класса, только когда его внутри a <ul>
с именем класса saft
? Этот класс CSS используется в другом месте, и я не хочу менять стиль во всем мире.
<div id="floater">
<ul class="saft">
<li><div class="textSlide"></li>
</ul>
</div>
Ответы
Ответ 1
Просто используйте селектор потомков CSS (пробел) между родительским элементом и элементом-потомком:
ul.saft div.textSlide {
/* CSS rules */
}
JS Fiddle demo.
В этом случае правила, применяемые к div
класса textSlide
, будут применяться, только если его предком является ul
класса saft
. Вместо этого вы можете использовать непосредственный дочерний комбинатор >
, но тогда вам нужно будет указать div
в отношении каждого родителя/предка до того, чей класс требуется, что дает потенциально трудно поддерживать CSS (не в этом случае, но со временем может стать проблематичным).
Ответ 2
Просто выполните:
ul.saft .textSlide {
Это обеспечивает то, что вам нужно
Ответ 3
вы можете легко выбрать div с определенным именем класса только тогда, когда его внутри UL с именем класса saft, как указано ниже, css: -
ul.saft .textSlide {
color:red;
}
или см. демонстрацию: - http://tinkerbin.com/mcrh7iMq