Est-il possible d'utiliser le sélecteur CSS3 :first-of-type
pour sélectionner le premier élément avec un nom de classe donné? Je n'ai pas réussi mon test, donc je pense que non?
Le code ( http://jsfiddle.net/YWY4L/ ):
p:first-of-type {color:blue}
p.myclass1:first-of-type {color:red}
.myclass2:first-of-type {color:green}
<div>
<div>This text should appear as normal</div>
<p>This text should be blue.</p>
<p class="myclass1">This text should appear red.</p>
<p class="myclass2">This text should appear green.</p>
</div>
la source
.myclass1
sélecteur sélectionnerait chaque élément de.myclass1
. Le sélecteur.myclass1 ~ .myclass1
utilise le combinateur frère général pour sélectionner chaque élément avec la classe.myclass1
qui est le frère suivant d'un élément avec une classe de.myclass1
. Ceci est expliqué en détail ici .Le projet CSS Selectors Level 4 propose d'ajouter une
of <other-selector>
grammaire dans le:nth-child
sélecteur . Cela vous permettrait de choisir le n ème enfant correspondant à un autre sélecteur donné:Les versions précédentes utilisaient une nouvelle pseudo-classe,
:nth-match()
vous pouvez donc voir cette syntaxe dans certaines discussions sur la fonctionnalité:Cela a maintenant été implémenté dans WebKit , et est donc disponible dans Safari, mais cela semble être le seul navigateur qui le prend en charge . Il y a des tickets déposés pour l'implémenter Blink (Chrome) , Gecko (Firefox) , et une demande de l'implémenter dans Edge , mais aucun progrès apparent sur aucun d'entre eux.
la source
Il n'est pas possible d'utiliser le sélecteur CSS3 : premier du type pour sélectionner le premier élément avec un nom de classe donné.
Cependant, si l'élément ciblé a un frère d'élément précédent, vous pouvez combiner la pseudo-classe CSS de négation et les sélecteurs de frère adjacents pour faire correspondre un élément qui n'a pas immédiatement un élément précédent avec le même nom de classe:
Exemple de code de travail complet:
la source
J'ai trouvé une solution pour votre référence. de certains divs de groupe choisir parmi un groupe de deux divs de même classe le premier
BTW, je ne sais pas pourquoi ça
:last-of-type
marche, mais:first-of-type
ça ne marche pas.Mes expériences sur jsfiddle ... https://jsfiddle.net/aspanoz/m1sg4496/
la source
Il s'agit d'un ancien fil de discussion, mais je réponds car il apparaît toujours en haut de la liste des résultats de recherche. Maintenant que le futur est arrivé, vous pouvez utiliser le pseudo-sélecteur: nth-child.
Le pseudo-sélecteur: nth-child est puissant - les parenthèses acceptent les formules ainsi que les nombres.
Plus ici: https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child
la source
Comme solution de secours, vous pouvez encapsuler vos classes dans un élément parent comme celui-ci:
la source
Je ne sais pas comment expliquer cela, mais je suis tombé sur quelque chose de similaire aujourd'hui. Ne pas pouvoir régler
.user:first-of-type{}
en.user:last-of-type{}
travaillant correctement. Cela a été corrigé après les avoir enveloppés dans un div sans aucune classe ni style:https://codepen.io/adrianTNT/pen/WgEpbE
la source
Vous pouvez le faire en sélectionnant chaque élément de la classe qui est le frère de la même classe et en l'inversant, ce qui sélectionnera à peu près tous les éléments de la page, vous devrez donc sélectionner à nouveau par la classe.
par exemple:
la source
Fonctionne simplement
:first
pour moi, pourquoi cela n'est-il pas encore mentionné?la source
:first
est une pseudo-classe liée à l'impression.