28220 sujets

CSS et mise en forme, CSS3

Pages :
Bonsoir,

J'ai dans un de mes fichiers CSS ses propriétés mais qui ne passent pas aux validateurs.

#contenu .important {
	margin:1.5em 2em 1em 3em;
	padding:0.5em;
	padding-top: 0;
	border:1px solid red;
	border-left:4px solid red;
	background-color:#ffe7dc;
	color:red;
	-moz-border-radius:6px;
}

#contenu .titreimportant {
	background: none;
	color:#990000;
	font-size:1em;
	text-decoration:none;
	margin:0;
	margin-top:0.5em;
	padding-left:1em;
}

a[href*="mailto:"]:after {
	content:"\0000a0\0000a0\0000a0";
}
a[href*="mailto:"] {
	background-image:url("images/mail.png");
	background-position:right;
	background-repeat:no-repeat;
}


En fait tout ce qui contient les crochets et les propriétés propore à Mozilla ne passe pas Smiley decu

Pouvez-vous m'aiguiller sur la façon de faire afin que ma cSS soit valide.

Merci beaucoup.
Bonsoir doomer Smiley smile

Concernant les lignes spécifiques Mozilla, c'est normal, elles ne font pas partie des standards... Il faut les enlever si tu veux valider.

Pour les crochets, je ne sais pas... mais un autre pourra te répondre Smiley cligne
Dans ta css tu importe une deuxième feuille avec les lignes qui ne passent pas.

Fichier style.css

En haut : @import(uneautrefeuille.css)

voili voilou
padding-top: 0; 
 margin:0;


ces lignes a priori ne sont pas valide il faut mettre derrière le 0 un px ou un em pour qu'elles soient valides
nicolas g a écrit :


padding-top: 0; 
 margin:0;


ces lignes a priori ne sont pas valide il faut mettre derrière le 0 un px ou un em pour qu'elles soient valides

C'est faux !

0 c'est 0, que ce soit des pixels, des pourcentages ou des brocolis Smiley biggol
@Doomer

Tu ne pourrais pas nous mettre un lien vers la feuille de style incriminée ?
Ça serait beaucoup plus simple de voir ce que le validateur en dit, ne crois-tu pas ?
ben c'est pas logique 0 c'est un chiffre comme les autres c'est une valeur et je ne vois pas pourquoi faire une exception pour le 0....
Excusez moi de revenir à la charge mais pour moi à part cela : -moz-border-radius:6px; tout est valide.

D'ou la subtilité d'importer les styles incriminés depuis la feuille de style par un @import.

Je cite

a écrit :
Right-- that would have you split the behavior rule into a second
style sheet, and then you @import it into the first one. So you'd
have something like:

Primary CSS:
@import url(scripts/csshover.css);
[...rest of style sheet...]

csshover.htc:
body {behavior: url (scripts/csshover.htc);}

That would let you have a valid primary style sheet, and an invalid
secondary style sheet. It's not necessarily a useful thing, but it's
there if invalidating the primary style sheet would bother you.
Nothing can prevent you from having an invalid secondary style sheet
in this case, because 'behavior' is invalid.


http://archivist.incutio.com/viewlist/css-discuss/44669

Ainsi le validator valide ta première feuille, ne suit par le @import et tout est ok.

[Résolu] Smiley smile Smiley cligne
nicolas g a écrit :

ben c'est pas logique 0 c'est un chiffre comme les autres c'est une valeur et je ne vois pas pourquoi faire une exception pour le 0....

Bah... Faudra que t'expliques tout ça au Service de validation CSS du W3C, parce que lui il ne fonctionne pas selon ta logique Smiley biggol
Modifié par Stephan (10 Mar 2005 - 20:17)
J'ai du mal à cerner la subtilité en question. Le fait qu'une feuille de style soit importé dans une autre feuille de style ne la dispense pas d'être valide.

De plus, la norme dit que les extensions propriétaires sont autorisées mais qu'il est conseillé de les préfixer (ici avec -moz-). Je pense que le validateur ne devrait pas compter comme des erreurs ces propriétés préfixées.
Modifié par Bobe (10 Mar 2005 - 20:20)
a écrit :
J'ai du mal à cerner la subtilité en question. Le fait qu'une feuille de style soit importé dans une autre feuille de style ne la dispense pas d'être valide.


Pas valide, mais valide aux yeux du validateur qui valide la première page. Comme cela tu peux fièrement arborer le bouton ultra moche du w3c pour dire que ta feuille est valide...

La paraître de la validité l'emportera...
Bonjour,

Merci pour toutes ces remarques comme demandé par Stephan, je mets le lien vers la feuille de style :

La feuille de style incriminée

Les propriétés ne passant pas se trouvent tout en bas de la page. Smiley decu

J'attends vos remarques de nouveaux.

Merci
Modifié par doomer (11 Mar 2005 - 08:54)
Bonsoir,

Je voudrais juste savoir si mettre ces propriétés gênantes et qui ne sont pas valide dans un autre fichier CSS était la seule solution ?

Merci d'avance
Bonjour,

Je reviens un petit peu à la charge pour avoir une réponse Smiley cligne , si quelqu'un en a une car en fait je voudrais que ma feuille de style n'ai aucune erreur afin d'avoir un site sans erreur visible aux validateurs.

Merci

PS : j'ai mis dans l'un de mes postes, un lien vers le CSS.
nicolas g a écrit :
ben c'est pas logique 0 c'est un chiffre comme les autres c'est une valeur et je ne vois pas pourquoi faire une exception pour le 0....


Tout simplement parce que c'est l'une des règles fixées par la spécification CSS2.0:

CSS2.0, La syntaxe de CSS2 et les types de données de base a écrit :
Pour une valeur de longueur '0', l'identifiant d'unité est facultatif.


La raison de fond est que l'absence d'unité n'entraîne aucune ambiguïté sur le résultat calculé.
Oui, je suis d'accord avec vous LaurentDenis mais mon probléme vient de la validation de ma feuille CSS qui contient des propriétés propore à Mozilla.

Vous pouvez voir ces propriétés qui posent probléme à mon tout premier post.

Merci.
Modifié par doomer (12 Mar 2005 - 11:55)
doomer a écrit :
Bonjour,

Je reviens un petit peu à la charge pour avoir une réponse Smiley cligne , si quelqu'un en a une car en fait je voudrais que ma feuille de style n'ai aucune erreur afin d'avoir un site sans erreur visible aux validateurs.


Attention : la validité ne peut pas être séparée de la norme exacte prise en référence. Ici, ta feuille de style ne peut pas être valide CSS2.0, étant donné qu'elle utilise:
- des extensions CSS2.1 du type -moz... (voir http://www.w3.org/TR/CSS21/syndata.html#q4 )
- un sélecteur CSS3 du type [href*=...] (voir http://www.w3.org/TR/css3-selectors/ )

L'interface de validation étendu du validateur W3C CSS ne te fournit pas d'option permettant de tester une CSS 'hybride" (il comprend bien une option CSS3, mais pas d'option CSS2.1, ni surtout d'option CSS2+2.1+3 Smiley cligne )

Mais ce qui compte ici, ce n'est pas le label de validité : c'est la conformité de ta feuille de style mêlant :
- CSS2.0 d'une part
- CSS2.1 (recommandation candidate) d'autre part
- CSS3.0 (Working draft) enfin.

...conformité à ... à ? ...à quoi pourrait-elle bien être conforme, au juste ? En effet:
- Pour CSS2.0 / CSS2.1, pas de problème de fond dans le fait de mêler l'une et l'autre puisque CSS2.1 est compatible avec CSS2.0 (sauf pour le media aural, mais c'est une autre histoire).
- En revanche, CSS3.0 n'est pas totalement compatible avec CSS2.0... et mêler les deux est plus douteux sur le principe.
Modifié par Laurent Denis (12 Mar 2005 - 11:44)
Hello,

Y aurait il eu un changement de comportement du validateur depuis ces posts?
J'ai suivi la méthode indiquée pour que ma feuille de style principale soit validée, mais le validateur va chercher ma page secondaire et y trouve le -moz-border-radius...

Plus moyen de passer la validation?

Mârci Smiley smile
Pages :