J'ai le code HTML suivant sur une page:
<h4>Some text</h4>
<p>
Some more text!
</p>
Dans mon, .css
j'ai le sélecteur suivant pour styliser l' h4
élément. Le code HTML ci-dessus n'est qu'une petite partie du code entier; il y en a plusieurs div
autres qui appartiennent à une shadowbox:
#sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4
{
color : #614E43;
margin-top : 5px;
margin-left : 6px;
}
Donc, j'ai le bon style pour mon h4
élément, mais je veux aussi styliser la p
balise dans mon HTML.
Est-ce possible avec les sélecteurs CSS? Et si oui, comment puis-je faire cela?
h4
éléments, passer au frère suivant et y ajouter une classe CSS. Avec jQuery, ce serait simplement$('#sb-wrapper #sb-wrapper-inner #sb-body #myDiv h4').next().addClass('shadowbox-h4-p');
Pour votre exemple littéral, vous voudrez utiliser le sélecteur adjacent (+).
Cependant, si vous souhaitez sélectionner tous les paragraphes successifs, vous devez utiliser le sélecteur général des frères et sœurs (~).
Il est connu pour être bogué dans IE 7+, malheureusement .
la source
Frappez simplement là-dessus lorsque vous essayez de résoudre ce type de chose moi-même.
J'ai fait un sélecteur qui traite de l'élément après avoir été autre chose qu'un p.
J'espère que cela aidera tous ceux qui le trouveront :)
la source
*
correspond à n'importe quel élément comme décrit dans le titre. C'était un rappel utile pour moi.Simplyfing pour les débutants:
Si vous souhaitez sélectionner un élément immédiatement après un autre élément, utilisez le
+
sélecteur.Par exemple:
div + p
L'élément "+" sélectionne tous les<p>
éléments qui sont placés immédiatement après les<div>
élémentsSi vous souhaitez en savoir plus sur les sélecteurs, utilisez ce tableau
la source
J'utilise le dernier CSS et "+" ne fonctionnait pas pour moi donc je me retrouve avec
:premier enfant
la source