Pour savoir à quels éléments d’un document vont s’appliquer des règles de style, on utilise les sélecteurs CSS. Il y en a plusieurs types:
- le nom des balises
- les classes (propriété
class
) - les identifiants (propriété
id
) - les pseudo-classes
Par exemple, si on veut modifier l’aspect des éléments d’un liste contenu dans un bloc, on utilisera le sélecteur suivant: div ul li
. On indique le chemin permettant d’arriver au noeud concerné, si on considère le document comme un arbre XML. Celà peut être fastidieux, surtout lorsqu’il s’agit de modifier des sous-éléments d’un bloc identifié par une classe ou un identifiant.
L’imbrication des règles pourrait être une manière élégante de style des documents étant donné que leurs structures s’y prêtent assez bien. De plus, la notion de cascade serait plus évidente, les règles imbriquées héritant des règles mères.
L’exemple précédent s’ecrirait de la manière suivante:
div{ ul{ li{ /*règles pour les éléments des listes contenues dans un bloc */ } } }
Comme je viens juste d’y penser, je trouve que cette syntaxe est plutôt pratique, sans même avoir cherché à savoir s’il y aurait des inconvénients. Qu’en pensez-vous?
2 replies on “Idée pour les sélecteurs CSS”
En effet, ça serait vraiment pratique pour éviter de dupliquer les définitions d’éléments imbriqués…
Excellente idée !
Faudrait pouvoir la proposer.