Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je suis actuellement en train de faire un petit script, qui liste les répertoires et les fichiers d'un répertoire.

Je les présente sous la forme d'une liste non ordonnée, et pour gagner de la place, les éléments sont placés côte à côte, les répertoires en premier (classe li.dir), les fichiers ensuite (classe li.file).

Je voudrais, pour plus de lisibilité, retourner à la ligne pour le premier fichier.

J'ai donc utilisé la ligne suivante :



.file:first-of-type {
clear: left;
}

Mais ça ne fonctionne pas (Ou plutôt, ça ne fonctionne QUE si l'élément li est le premier de son parent). Je l'ai vérifié avec un fond de couleur.

Est-ce un bug, ou je m'y prends mal ?

Posté

Merci de l'éclaircissement !

J'essaierai le contournement lundi, je te tiendrai au courant. Si ça ne marche pas, je le ferai en JS.

Soit dit en passant, je ne saisis pas la logique de ces pseudo-classes : pourquoi ne les rendre actives que sur la balise, alors que les autres pseudo-classes fonctionnent sur l'ensemble des sélecteurs ?

Posté

La pseudo-classe fonctionne sur n'importe quoi, mais la notion de "premier" est définie ici par rapport au type, comme dans "first-child" elle est par rapport aux enfants d'un objet donné, etc.

Tu peux donc avoir:

type:first-type -> correspond à un élément de type "type" qui est le premier de ce type

.class:first-type -> correspond à un élément de classe "classe" qui est le premier de son type

La pseudo-classe est indépendante du reste du sélecteur, donc elle a forcément toujours la même signification.

Jacques.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...