28173 sujets

CSS et mise en forme, CSS3

Hello et bonjour à tous (premier message), bon j'ai un foutu avertissement avec le validateur qui ne veut pas partir, j'ai :

rechercher sur le forum, sur google, lu les differents topics, les billets, j'ai reverifier trois fois en essayant les codes venant d'un peu partout meme de zen garden voilà le problème:

a écrit :
Ligne : 49 (Level : 2) Redéfinition de la propriété margin-bottom : #disclaimer


dans mon css c'est definis comme ceci:

a écrit :

#disclaimer {
width: 375px;
height: 275px;
margin: auto;
margin-bottom: 50px; (---> ligne posant l'avertissement)


j'ai essayer de remplacer le margin-bottom: 0x; par :

a écrit :
margin: 0px 0px 0px 50px;

--> resultat j'ai maintenant la meme erreur pour le top, right et left en plus Smiley decu

a écrit :

margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
margin-bottom: 50px;


même resultat que le cas précédent.

Ce que je ne pige pas c'est que la feuille css du zengarden n'obtient pas cette avertissement, pourtant il y'a bien:

a écrit :
h3 {

* font : italic normal 12pt georgia;
* letter-spacing : 1px;
* margin-bottom : 0;
* color : #7d775c;

}


Merci, je tiens à preciser que le margin-bottom s'utilise dans un DIV chez moi
Modifié par Ma_X_iM (17 Mar 2006 - 18:24)
Ma_X_iM a écrit :
Je tiens à preciser que le margin-bottom s'utilise dans un DIV chez moi

Le problème ne vient pas de là.

Validateur CSS a écrit :
Ligne : 49 (Level : 2) Redéfinition de la propriété margin-bottom : #disclaimer

#disclaimer {
	margin: auto;
	margin-bottom: 50px;
}


« Redéfinition de la propriété margin-bottom » signifie que tu la définis une première fois, puis que tu la définis une seconde fois. Logique non ? Smiley rolleyes . Mais, me diras-tu, « Ah mais non elle n'est définie qu'une fois ! ».

Bon, on reprend :
margin: auto; revient à écrire margin-top: auto; margin-bottom: auto; margin-left: auto; margin-right: auto;. Ce qui fait une première définition de margin-bottom.
Suit dans le code une deuxième définition de margin-bottom qui vient contredire la première (et c'est le dernier qui parle qui a raison, d'abord !).

Donc voilà la source de l'avertissement. Maintenant, deux solutions :

1/ Je corrige mon code
#disclaimer {
	margin-left: auto; margin-right: auto;
	margin-bottom: 50px;
}


2/ Mon code est parfaitement valide d'abord, je vois pas pourquoi je devrais le corriger
Parce que bon, depuis quand est-il interdit en CSS de contredire une valeur par une deuxième valeur pour la même propriété ? C'est parfaitement valide, même si les validateurs (ou une partie d'entre eux seulement ?) donnent un avertissement. Il faut s'avoir qu'un avertissement n'est pas une erreur, et si certains avertissements permettent de trouver des erreurs de conception, globalement leur but est surtout pédagogique. Il n'y a donc aucun problème a laisser un avertissement irrésolu si l'on sait ce qui le déclenche, et que l'on en connait les (possibles) conséquences.
Modifié par mpop (17 Mar 2006 - 16:39)
Hello, bien vu dans la foulée je n'avais pas était penser que ca venait du auto , je te remercie Smiley smile

Sinon, je sais qu'il est valide mais moi je veux le code le plus propre ET le plus acceptable, alors adios les avertissements Smiley smile Et puis si ils sont présent c'est bien pour y faire attention Smiley smile disons que actuellement ce n'est pas pris comme une erreur, mais à la prochaine maj ce le sera peut etre ? bref c'est pas le but de mon sujet

je te remercie, problème résolu Smiley smile
Ma_X_iM a écrit :
alors adios les avertissements Smiley smile Et puis si ils sont présent c'est bien pour y faire attention Smiley smile disons que actuellement ce n'est pas pris comme une erreur, mais à la prochaine maj ce le sera peut etre ?

J'en doute fort. La double définition est très utilisée, pour paufiner une mise en page dans des cas précis (par exemple dans une feuille de style secondaire spécifique pour une rubrique précise d'un site web). Si on ne peut plus utiliser la cascade avec les Cascading Style Sheets, où va-t-on ? Smiley langue
Salut,

Excuses-moi si je suis trop pointilleux ou trop ignorant Smiley cligne , mais à mon avis le terme "Cascading" n'a absolument rien à voir avec un quelconque concept de "double déclaration"...

Je me trompe ? ou tu as écrit cela sans réfléchir ?

(pour préciser, la "cascade" en question, c'est le fait par exemple de déclarer d'une part une régle pour les "h1" et une autre pour les "h1.toto" ou les ".toto h1")