28172 sujets

CSS et mise en forme, CSS3

Bonjour

Je cherche un document clair et si possible en français sur l'utilisation de classes multiples en CSS, et notamment sur les points suivants:
1) comment sont calculés les propriétés résultantes, notamment quand elles sont en partie contradictoires
2) comment déclencher une transition en ajoutant ou supprimant par Javascript une classe dans la liste des classes d'un élément

Les documents que j'ai trouvés sont très basiques et l'on de faire le poin sur ces questions.
Jusqu'à présent j'ai procédé de facon expérimentale, ce qui n'est jamais très satisfaisant.

Merci de votre aide
Modérateur
Salut,

1. Je ne connais pas de document à ma connaissance pour les règles contradictoires à ton niveau (même priorité id, élement). Par contre, je pencherai l'ordre dans lequel la règle est déclarée dans le fichier.
1.bis Logiquement ce cas ne devrait pas apparaitre
2. https://developer.mozilla.org/fr/docs/Web/API/Element/classList
2.bis si IE9 inférieur, récupérer le contenu et ajouter, remplacer ou supprimer la class et réinjecter dans le DOM.
Modifié par niuxe (21 Aug 2015 - 00:05)
Merci de ta réponse
niuxe a écrit :
1. Je ne connais pas de document à ma connaissance pour les règles contradictoires à ton niveau (même priorité id, élement). Par contre, je pencherai l'ordre dans lequel la règle est déclarée dans le fichier.
Moi aussi, mais il est tout de même bizarre que pour quelque chose qui est par nature un algorithme informatique on n'arrive pas à trouver une description claire de ce qu'il fait et comment il le fait
niuxe a écrit :
1.bis Logiquement ce cas ne devrait pas apparaitre
Il me semble naturel de définir une classe portant toutes les propriétés par défaut, qu'on peut ensuite modifier par des classes spécifiques.
Par exemple j'ai défini une classe "framed" disant qu'un élément doit être encadré avec toutes les caractéristiques de l'encadrement par défaut, et de compléter par des "classes de correctifs" qui permettent de désigner des cas particuliers. D'après le point précédent je définis les "correctifs" après la classe par défaut, et ça a l'air de fonctionner mais j'aimerais en avoir la certitude avant de découvrir un zombie.
Il me semble également que class="A B C" et class="B C A" donnent des résultats identiques, c'est à dire que c'est l'ordre des définitions dans les feuilles de style qui compte, pas l'ordre dans lequel on les appelle. Mais là aussi j'aimerais en être sûr.
niuxe a écrit :
2. https://developer.mozilla.org/fr/docs/Web/API/Element/classList
2.bis si IE9 inférieur, récupérer le contenu et ajouter, remplacer ou supprimer la class et réinjecter dans le DOM.
Waouh! Ça c'est un truc auquel je n'avais pas pensé!
Est-ce que je peux tout de même utiliser
document.querySelectorAll()
avec ces anciennes versions d'IE?
Coucou !

PapyJP a écrit :

Il me semble également que class="A B C" et class="B C A" donnent des résultats identiques, c'est à dire que c'est l'ordre des définitions dans les feuilles de style qui compte, pas l'ordre dans lequel on les appelle. Mais là aussi j'aimerais en être sûr.


Voici la confirmation : Finally, sort by order specified: if two declarations have the same weight, origin and specificity, the latter specified wins.
Oken a écrit :
Voici la confirmation : Finally, sort by order specified: if two declarations have the same weight, origin and specificity, the latter specified wins.

Merci, c'est de document que je cherchais.
Modifié par PapyJP (21 Aug 2015 - 11:47)