Если у меня есть тег заголовка <h1 class="hc-reform">title</h1>
h1.hc-reform{
float:left;
font-size:30px;
color:#0e73bb;
font-weight:bold;
margin:10px 0px;
}
и после этого у меня есть параграф <p>stuff here</p>
.
Как я могу гарантировать использование CSS для использования каждого <p>
тега, следующего за h1.hc-reform
:clear:both;
это будет:
h1.hc-reform > p{
clear:both;
}
по какой-то причине это не работает.
html
css
css-selectors
siblings
Тони Норьега
источник
источник
p
что приходит сразу послеh1.hc-reform
. С другой стороны, он может быть единственным,clear: both
к которому нужно применить, чтобы он работал, поскольку он просто очищаетh1
поплавок, так что это все еще правильный ответ.p
которому непосредственно предшествуетh1.hc-reform
(с тем же родительским элементом, конечно).Вы можете использовать селектор брата
~
:При этом выбираются все
p
элементы, которые идут после.hc-reform
, а не только первый.источник
нет
>
это дочерний селектор.тот, который вы хотите
+
поэтому постарайтесь
h1.hc-reform + p
поддержка браузера невелика
источник
>
Является селектор ребенка . Так что, если ваш HTML выглядит так:... тогда это твой билет.
Но если ваш HTML выглядит так:
Затем вы хотите соседний селектор :
источник
Не совсем. В
h1.hc-reform > p
означает «любойp
ровно один уровень нижеh1.hc-reform
».То, что вы хотите
h1.hc-reform + p
. Конечно, это может вызвать некоторые проблемы в старых версиях Internet Explorer; если вы хотите сделать страницу совместимой со старыми IE, вам придется либо вручную добавить класс в абзацы, либо использовать какой-либо JavaScript (например, в jQuery вы можете сделать что-то подобное$('h1.hc-reform').next('p').addClass('first-paragraph')
).Дополнительная информация: http://www.w3.org/TR/CSS2/selector.html или http://css-tricks.com/child-and-sibling-selectors/.
источник