28220 sujets

CSS et mise en forme, CSS3

j'ai trouvé ce code pour rendre un fond transparent mais il n'est pas valdie W3C
filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;


L'erreur css
    * Ligne: 504 Contexte : #mail2

      Erreur lors de l'analyse grammaticale. - opacity=50)
    * Ligne: 505 Contexte : #mail2

      Erreur lors de l'analyse grammaticale. - -moz-opacity:0.5;
    * Ligne: 506 Contexte : #mail2

      Parse error - Unrecognized : -khtml-opacity: 0.5;
    * Ligne: 509

      Erreur lors de l'analyse grammaticale. - : 0.5; } #mail2 a



Comment le rendre valide?
Modifié par Pops83 (18 Jul 2005 - 16:11)
Si tu veux que malgré tout le restant de ta feuille soit valide, tu peux les mettre dans une autre feuille de style et l'utiliser avec un @import situé dans ta première feuille.
ok merci pour la réponse!
Non je crois que je vais les enlever car ce n'est pas une opacité vraiment obligatoire.

Mais si j'ai bien compris avec le css3 il n'y aura plus qu'une propriété.
Modifié par Pops83 (18 Jul 2005 - 16:11)
Tu peux d'ors et déjà te passer de " -moz-opacity: 0.5; " puisque l'indication valide " opacity: 0.5; " est comprise par Mozilla, FireFox, Camino, Netscape. ( et l'était déjà par d'autres qui n'ont jamais été concernés par cette mention ) Je crois que seul IE finalement à besoin de sa " béquille propriétaire " pour s'en sortir.
a écrit :
TriadPtale
Si tu veux que malgré tout le restant de ta feuille soit valide, tu peux les mettre dans une autre feuille de style et l'utiliser avec un @import situé dans ta première feuille.
Hélas non. Le validateur rassemble toutes les feuilles liées et considère qu'elles forment un " tout " homogène. Il suivra le lien malgré tout et dira la même chose. Cette méthode ne présente que l'avantage de ne pas mélanger les torchons et les serviettes.
Modifié par Aureance (18 Jul 2005 - 19:09)
Pops83 a écrit :
j'ai trouvé ce code pour rendre un fond transparent mais il n'est pas valdie W3C
filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;


Concrètement, tu supprimes la ligne filter:alpha(opacity=50); qui est une extension propriétaire Microsoft invalide quelque-soit la norme CSS

Encore plus concrètement, tu ne changes rien, car la gestion d'erreur CSS fera que, dans ce cas, cela n'aura aucune conséquence pratique sur le rendu de ton site.

Maintenant, une chose très importante : une CSS ne peut pas être "valide W3C".
- elle peut être valide CSS2.0 (c'est ce que le validateur CSS te dit, quand tu l'utilises avec ses options par défaut)
- elle peut être valide CSS2.1 (là, le validateur n'est pas valable, car il n'implémente pas CSS2.1)
- certaines proprités CSS3 sont validables (avec le même validateur, mais en utilisant son interface étendu)

Viser la validation CSS3 n'a actuellement aucune utilité pratique : CSS3 est composé de modules dont certains sont assez avancés pour être pris en compte en validation d'autres non. Et le tout n'est implémenté qu'à l'état expérimental par les navigateurs. Dans ce cas précis, opacity appartient à un module assez avancé pour être implémenté par les navigateur, et validable.

Viser la validation CSS2.0 est simple, puisque c'est la réponse par défaut du validateur

Viser la validation CSS2.1 est en fait le plus appoprié aujourd'hui, puisque CSS2.1 est une simple révision de CSS2.0 en fonction de ce que les navigateurs ont réellement retenu de CSS2.0. Mais c'est plus compliqué, puisqu'il n'y a pas de validateur automatique et que les navigateurs n'implémentent pas tous toutes les propriétés CSS2.1...

Au bout du compte ? C'est compliqué, la validation CSS Smiley decu :
- être valide CSS2.0 est la base
- être prudent avec les propriétés CSS3.0 et CSS2.1 : se renseigner..
Modifié par Laurent Denis (18 Jul 2005 - 19:37)