28172 sujets

CSS et mise en forme, CSS3

Bonjour,
Mon soucis porte sur le fait de centrer un conteneur, dans un autre centré qui aurais des propriétés de background.

Auparavant je faisais :

body{
background:red;
text-align:center;/*ie6 bug fix*/}
#body2{ 
width:990px;
margin:0 auto;
text-align:left;/*ie6 bug fix*/}


En tatonnant et en observant du code, il est apparu que je pouvais utiliser l'élément html :


html {
background:red;
text-align:center;/*ie6 bug fix*/}
body{ 
width:990px;
margin:0 auto;
text-align:left;/*ie6 bug fix*/}


Donc voila, ca marche super bien, sauf sur ie6. J'ai l'impression, qu'il ne reconnais pas l'élément html, comme un sur lequel il pourrais appliquer des propriétés de style.

Est ce une mauvaise idée ?
Salut DarkA,

À mon avis utiliser un body avec une largeur précise n'est pas une bonne idée.
Si je comprend bien tu veux centrer un contenu d'une largeur précise dans une page web.


Essais cela dans ton CSS (avec dans ton HTML un <div id="conteneur">test</div>) :
body {
	background: red;
}

#conteneur {
	background-color:silver;
	margin:0 auto;
	width:990px;
}


Chez moi ça marche sur IE6 avec le code HTML/CSS suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>test</title>
        <style type="text/css">
			body {
				background: red;
			}
			#conteneur {
				background-color:silver;
				margin:0 auto;
				width:990px;
			}
        </style>
    </head>
    <body>
        <div id="conteneur">test</div>
    </body>
</html>
salut lafrite,
je n'ai pas dis que cela ne marchais pas mais je trouvais ca vraiment plus correct d'appliquer un positionnement sans avoir à créer un nouveau conteneur. Car après tout ce doit etre seulement les css qui doivent etre responsable du "rendu graphique".
Essaye ma technique tu verra, elle passe bien, sauf sous IE6. Smiley bawling
Merci quand meme !
H'llo,

Oui c'est sûr tu as raison : c'est toujours mieux de limiter le code coté HTML, et il vaux mieux développer par couche (contenu / rendu graphique / etc...).

Le problème et qu'il y a tant de choses qu'on pourrait faire mieux si IE6 gérais mieux les standards du web... (et c'est un navigateur encore largement utilisé aujourd'hui, on ne peux toujours pas faire l'impasse dessus).

Et bien si quelqu'un trouve une solution fonctionnant avec IE6 ça m'intéresse aussi !