Как применить стиль ко всем дочерним элементам элемента
у меня есть элемент class='myTestClass'
. Как применить стиль css ко всем дочерним элементам этого элемента? Я только хочу применить стиль к элементам children. Не его внуки.
я мог бы использовать
.myTestClass > div {
margin: 0 20px;
}
, которые работают для всех div
дети, но я бы хотел решение, которое работает для всех детей. Я думал, что смогу использовать *
, а
.myTestClass > * {
margin: 0 20px;
}
не работает.
редактировать
на .myTestClass > *
селектор не применять правило в firefox 26, и нет другого правила для маржи в соответствии с firebug. И это работает, если я заменить *
С div
.
1 ответов
прокомментировал Дэвид Томас, потомки этих дочерних элементов (вероятно) унаследуют большинство стилей, назначенных этим дочерним элементам.
вам нужно обернуть ваш .myTestClass
внутри элемента и примените стили к потомкам, добавив .wrapper *
селектор. Затем добавьте .myTestClass > *
ребенок селектор чтобы применить стиль к элементам детей, а не внуков. Например, как это:
JSFiddle - демо
.wrapper * {
color: blue;
margin: 0 100px; /* Only for demo */
}
.myTestClass > * {
color:red;
margin: 0 20px;
}
<div class="wrapper">
<div class="myTestClass">Text 0
<div>Text 1</div>
<span>Text 1</span>
<div>Text 1
<p>Text 2</p>
<div>Text 2</div>
</div>
<p>Text 1</p>
</div>
<div>Text 0</div>
</div>