Lorsque vous développez des pages web, si vous suivez les bonnes pratiques (n'est-ce pas ?), vous nommez vos identifiants CSS en fonction des données qu'ils représentent ("selectedCountry", "clientList") et non selon leur représentation visuelle ("greyBackgroundBlueText", "redBorder").
Mais il arrive fréquemment qu'une même donnée doive être représentée différemment en fonction de la page sur laquelle elle apparaît. Comment associer un style différent à un même identifiant logique en fonction de son contexte d'affichage ?

Bien sûr, il est toujours possible de contourner le problème en associant plusieurs identifiants à une même information logique, mais l'on perd alors en précision sémantique.
L'astuce que je vous propose ici résout le problème de manière plus satisfaisante, en utilisant les sélecteurs hiérarchiques CSS de manière similaire aux namespaces XML. Si cette technique peut être appliquée à tout site ou application web. le but de ce billet est de montrer comment Wicket simplifie sa mise en oeuvre.