Si tengo una etiqueta de encabezado <h1 class="hc-reform">title</h1>
h1.hc-reform{
float:left;
font-size:30px;
color:#0e73bb;
font-weight:bold;
margin:10px 0px;
}
y después de eso tengo un párrafo <p>stuff here</p>
.
¿Cómo puedo asegurarme de usar CSS que cada <p>
etiqueta que sigue h1.hc-reform
a usar:clear:both;
sera eso:
h1.hc-reform > p{
clear:both;
}
por alguna razón eso no funciona.
html
css
css-selectors
siblings
Tony Noriega
fuente
fuente
p
que viene justo despuésh1.hc-reform
. Por otra parte, podría ser el único al que seclear: both
debe aplicar para que funcione, ya que simplemente borra elh1
flotador, por lo que sigue siendo una respuesta válida.p
que está precedido inmediatamente porh1.hc-reform
(con el mismo elemento padre, por supuesto).Puede usar el selector de hermanos
~
:Esto selecciona todos los
p
elementos que vienen después.hc-reform
, no solo el primero.fuente
no
>
es un selector hijo.el que quieres es
+
así que intenta
h1.hc-reform + p
la compatibilidad con el navegador no es excelente
fuente
El
>
es un selector hijo . Entonces, si su HTML se ve así:... entonces ese es tu boleto.
Pero si su HTML se ve así:
Entonces quieres el selector adyacente :
fuente
No exactamente. El
h1.hc-reform > p
significa "cualquierp
exactamente un nivel debajoh1.hc-reform
".Lo que queremos es
h1.hc-reform + p
. Por supuesto, eso podría causar algunos problemas en versiones anteriores de Internet Explorer; si desea hacer que la página sea compatible con IEs anteriores, no podrá agregar una clase manualmente a los párrafos o usar JavaScript (en jQuery, por ejemplo, podría hacer algo como$('h1.hc-reform').next('p').addClass('first-paragraph')
).Más información: http://www.w3.org/TR/CSS2/selector.html o http://css-tricks.com/child-and-sibling-selectors/
fuente