28221 sujets

CSS et mise en forme, CSS3

Bonjour j'ai un souci de validation de la css de mon menu et je ne sais quoi faire.

Quelqu'un à t'il une idée ?


#menu dt {
 border-right: #0099FF 1px solid;
 border-top: #0099FF 1px solid;
 font-weight: bold;
 color: white;
 background: #0099FF;
 filter:alpha(opacity=70);
 margin: 2px 0px;
 border-left: #0099FF 1px solid;
 cursor: pointer;
 line-height: 20px;
 border-bottom: #0099FF 1px solid;
 height: 20px;
 text-align: center;
 }
 
#menu dd {
 border-right: #3399FF 1px solid;
 border-top: #3399FF 1px solid;
 margin-top: -1.7em;
 z-index: 100;
 background: #3399FF;
 filter:alpha(opacity=70);
 left: 10.1em;
 border-left: #3399FF 1px solid;
 width: 10em;
 border-bottom: #3399FF 1px solid;
 position: absolute;
 }
 


le problème viens de
filter:alpha(opacity=70);
sur les class #menu dt et #menu dd

Voilà le commentaire du validateur W3C
a écrit :

Ligne: 70 Contexte : #menu dt
Erreur lors de l'analyse grammaticale. - opacity=70)

Ligne: 86 Contexte : #menu dd
Erreur lors de l'analyse grammaticale. - opacity=70)


Adresse d'exemple de ce menu :
sur mon site

En fait je ne sais pas comment corriger ces erreur.

Merci de votre aide Smiley smile
Modifié le 05 Feb 2005 - 15:36
Je t'ai répondu ceci sur Dream.media-box.net :

a écrit :

Je sais que ce que je vais dire va en faire sursauter quelques-uns (notamment SIBELIUS), mais si ta propriété Alpha est primordiale pour toi, écris-là en JS !

Tu associes donc un fichier JS à ta page dans lequel est écrit (document.write) ton style (et uniquement celui-ci et évidemment ton tag HTML).

... N'oublie quand même pas que c'est propriétaire ... Et que ceux qui utilisent IE (oui oui il y en a !) et qui ont le JS désactivé verront ton menu comme si la propriété Alpha n'existe pas !
Groumphy, je vois mal l'utilité de passer par javascript ?

S'agit-il simplement de masquer au validateur CSS la propriété invalide ? Cela fait fortement penser à l'ouverture des liens dans une nouvelle fenêtre à coup de javascript en XHTML strict : le document est peut-être formellement valide, mais il n'est pas pour autant conforme aux exigences qualitatives de la norme.

A tout prendre, et en attendant que Microsoft implémente éventuellement le mécanisme d'extensions CSS propriétaires normalisé par CSS2.1, un moindre mal : placer les styles propriétaires Microsoft dans une feuille spécifique, appelée dans un commentaire conditionnel.

Cela dit, même invalide et placée dans une CSS unique, cette propriété sera simplement ignorée par les autres navigateurs (avantage du traitement d'erreur en CSS).... Quoique, peut-être faut-il se méfier : je crois me souvenir que la propriété zoom, par exemple, (du pur microsoft) donne des boutons à Opera Smiley cligne
Modifié le 03 Feb 2005 - 09:07
Merci à tous pour vos réponse.

Je me posais la question de savoir si il n'était pas possible de contourner la création du fichier à part en js en mettant directement dans le code html sur chaque div dt et dd la propriété onload=filter:alpha(opacity=70).

cela me permettrai de valider en css et en xhtml non ?
Mais alors je reporte le problème autrement ! Pourquoi utiliser un code propriétaire ?

Ici le système de JS ou de double CSS (via même, poussont l'urticaire de Laurent Denis plus loin, par un sélecteur JS ?!!) n'est qu'un simple détournement.

Mais s'il est nécessaire pourquoi pas ! Je ne suis pas pour, car la conformité n'est pas optimale, mais je ne suis pas contre !

... Hmmm ...