Jeśli mam tag nagłówka <h1 class="hc-reform">title</h1>
h1.hc-reform{
float:left;
font-size:30px;
color:#0e73bb;
font-weight:bold;
margin:10px 0px;
}
a potem mam akapit <p>stuff here</p>
.
Jak mogę zapewnić użycie CSS, którego używa każdy <p>
znacznik następujący h1.hc-reform
:clear:both;
czy to byłoby:
h1.hc-reform > p{
clear:both;
}
z jakiegoś powodu to nie działa.
html
css
css-selectors
siblings
Tony Noriega
źródło
źródło
p
co nastąpi zaraz poh1.hc-reform
. Z drugiej strony może być to jedyna aplikacja, któraclear: both
musi zostać nałożona, aby działała, ponieważ po prostu usuwah1
liczbę zmiennoprzecinkową, więc nadal jest poprawną odpowiedzią.p
tego, który jest bezpośrednio poprzedzonyh1.hc-reform
(oczywiście z tym samym elementem nadrzędnym).Możesz użyć selektora rodzeństwa
~
:Spowoduje to wybranie wszystkich następujących po nim
p
elementów.hc-reform
, nie tylko pierwszego.źródło
nie
>
to selektor podrzędny.ten, który chcesz
+
więc spróbuj
h1.hc-reform + p
obsługa przeglądarki nie jest świetna
źródło
Jest
>
to selektor podrzędny . Więc jeśli Twój HTML wygląda tak:... to twój bilet.
Ale jeśli Twój HTML wygląda tak:
Następnie chcesz sąsiedni selektor :
źródło
Nie dokładnie. Te
h1.hc-reform > p
środki „każdyp
dokładnie poniżej poziomuh1.hc-reform
”.To czego chcesz
h1.hc-reform + p
. Oczywiście może to powodować pewne problemy w starszych wersjach programu Internet Explorer; jeśli chcesz, aby strona była zgodna ze starszymi IE, utkniesz z albo ręcznym dodawaniem klasy do akapitów, albo używaniem JavaScript (na przykład w jQuery możesz zrobić coś takiego$('h1.hc-reform').next('p').addClass('first-paragraph')
).Więcej informacji: http://www.w3.org/TR/CSS2/selector.html lub http://css-tricks.com/child-and-sibling-selectors/
źródło