Si j'ai une balise d'en-tête <h1 class="hc-reform">title</h1>
h1.hc-reform{
float:left;
font-size:30px;
color:#0e73bb;
font-weight:bold;
margin:10px 0px;
}
et après cela j'ai un paragraphe <p>stuff here</p>
.
Comment puis-je m'assurer d'utiliser CSS que chaque <p>
balise qui suit le h1.hc-reform
à utiliser:clear:both;
serait-ce:
h1.hc-reform > p{
clear:both;
}
pour une raison quelconque, cela ne fonctionne pas.
html
css
css-selectors
siblings
tony noriega
la source
la source
p
que ce qui vient juste aprèsh1.hc-reform
. Là encore, il pourrait être le seul sur lequel ilclear: both
faut appliquer pour que cela fonctionne, car il efface simplement leh1
flotteur, donc c'est toujours une réponse valide.p
qui est immédiatement précédé deh1.hc-reform
(avec le même élément parent, bien sûr).Vous pouvez utiliser le sélecteur frère
~
:Cela sélectionne tous les
p
éléments qui viennent après.hc-reform
, pas seulement le premier.la source
non
>
est un sélecteur d'enfant.celui que tu veux c'est
+
alors essayez
h1.hc-reform + p
le support du navigateur n'est pas génial
la source
Le
>
est un sélecteur d'enfant . Donc, si votre code HTML ressemble à ceci:... alors c'est votre ticket.
Mais si votre code HTML ressemble à ceci:
Ensuite, vous voulez le sélecteur adjacent :
la source
Pas exactement. Le
h1.hc-reform > p
signifie "toutp
exactement un niveau en dessoush1.hc-reform
".Ce que tu veux c'est
h1.hc-reform + p
. Bien sûr, cela peut entraîner des problèmes dans les anciennes versions d'Internet Explorer; si vous voulez rendre la page compatible avec les IE plus anciens, vous devrez soit ajouter une classe manuellement aux paragraphes ou utiliser du JavaScript (dans jQuery, par exemple, vous pourriez faire quelque chose comme$('h1.hc-reform').next('p').addClass('first-paragraph')
).Plus d'informations: http://www.w3.org/TR/CSS2/selector.html ou http://css-tricks.com/child-and-sibling-selectors/
la source