28220 sujets

CSS et mise en forme, CSS3

Bonjour,

Je viens de lire les recommandations du w3c CSS2 pour ce qui concerne les selecteurs d'attributs, pour savoir si ce que je voulais faire était possible.

J'ai des balises <td class="nick pseudo"> avec pseudo qui peut prendre n'importe quelle valeur.

J'ai dabbord pensé à utiliser PHP pour générer du code CSS afin de colorer mes pseudos en utilisant la première lettre de chaque et en appliquant une couleur de texte selon une liste prédéfinie.

Puis après la lecture de http://www.yoyodesign.org/doc/w3c/css2/selector.html#q10 , il est apparemment possible d'intercepeter des selecteurs dont l'attribut n'est pas mentionné "précisemment" :
a écrit :
Cette règle-ci sera vérifiée pour les valeurs de l'attribut "lang" qui commence par "en", y inclus "en", "en-US" et "en-cockney" :
*[LANG|="en"] { color : red }


J'ai alors tenté de l'appliquer à mon cas pour tester :
td[class|="nick g"] {
color:#f00;
}


Mais il s'avère que la propriété n'est pas prise en compte, en revanche si je précise par exemple :
td[class|="nick gnuk"] {
color:#f00;
}

la propriété est correctement appliquée.

Est-ce que j'utilise mal les selecteurs d'attributs ou existe-t-il une facon plus simple de procéder ?

Merci.
Modifié par gnuk (27 Nov 2005 - 14:03)
Bonjour,

Il y a effectivement erreur sur l'utilisation de ce sélecteur d'attribut : il ne vise que les suites de valeurs séparées par des tirets.

Cela dit, vu le support encore limité des différents sélecteurs d'attributs selon les navigateurs, l'utilisation d'une classe attribuée via PHP sera la seule solution pour obtenir cet effet sur tous les navigateurs.
Hello,
a écrit :
[att|=val]
Quand un élément avec un attribut "att" qui admet comme valeur une suite de valeurs séparées par des tirets(...)


Or là tes valeurs sont séparées par des blancs.
Peut-etre peux-tu essayer avec
a écrit :
[att~=val]
Quand un élément avec un attribut "att" qui admet comme valeur une suite de valeurs séparées par des blancs, une des valeurs est exactement "val". Avec ce sélecteur, les valeurs de la liste ne doivent pas contenir de blancs (car ceux-ci font déjà office de séparateurs) ;

mais je n'y pas grand chose en sélecteurs.
cependant je ne suis pas emballé par les espaces blancs dans les noms de class...
yyoupla a écrit :

cependant je ne suis pas emballé par les espaces blancs dans les noms de class...


C'est amusant : la possibilité de cumuler des classes sur le même élément est rarement utilisée et souvent source de réactions bien peu enthousiastes. Or, c'est un outil formidable pour la rationalisation des feuilles de styles Smiley cligne
Merci bien de vos réponses.

J'ai encore testé plusieurs petites choses, mais sans succès.
Je vais me pencher du côté de PHP, mais je dois bien avouer que je ne vois pas encore par où commencer.