28173 sujets
CSS et mise en forme, CSS3
Centrage vertical & horizontal, donc ... Vive la FAQ
bonsoir ,
il reste aussi la solution d'user d'un parent en position:relative; lui même centré , qui peut-etre body (a eviter) , le conteneur principal de la page ou un div quelconque (qui peut aussi servir a simuler un hr avec sa bordure haute.
En centrant le parent et en donnant la même largeur au parent et contenu en absolu, celui ci suivra le centrage de l'element rester dans le flux .
test en exemple :
sans donner de coordonnées , l'element en absolu va afficher son coin haut et gauche , a l'endroit ou il apparait dans le flux du html. (moyennant les marges eventuelles appliqué par defaut selon les navigateurs ou regles css presentes , ils risque neanmoins de ne pas se demarquer des elements flottants dans firefoxe par exemple ).
bonne soirée.
il reste aussi la solution d'user d'un parent en position:relative; lui même centré , qui peut-etre body (a eviter) , le conteneur principal de la page ou un div quelconque (qui peut aussi servir a simuler un hr avec sa bordure haute.
En centrant le parent et en donnant la même largeur au parent et contenu en absolu, celui ci suivra le centrage de l'element rester dans le flux .
test en exemple :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>XHTML 1.0 Strict , test sur absolute centré</title>
<style type='text/css'>
html , body {
margin:0;padding:0;
}
.centreur {
width:80%;
margin:auto;
}
#aboslu-o-centre-2 , #aboslu-o-centre {
position:absolute;
background:red;
top:0;
width:100%;
}
#aboslu-o-centre-2 {
bottom:0;
top:auto;
background:yellow;
width:80%;
_width:100%;/* IE ne prend pas body en reference */
}
.relatif {
position:relative;
}
</style>
</head>
<body>
<div class="centreur relatif" >
<div id="aboslu-o-centre">
<p>Test sur un contenu en absolute ,
mis en marge auto par le biais de son
conteneur en relatif.
</p>
<p>L'un et l'autre ont les même largeurs.
(ici 100% , div.centreur.relatif est la reference)
</p>
</div>
</div>
<div class="centreur" >
<div id="aboslu-o-centre-2">
<p>Test sur un contenu en absolute , mis en marge auto par
le biais de son conteneur en static .
</p>
<p>L'un et l'autre ont les même largeurs.(ici 80% ,
body serait la reference , pourtant IE prend le conteneur
en reference , il lui faut donc 100%)
</p>
<p>le conteneur en position:relative; est donc
une solution preferable et plus stable.
</p>
</div>
</div>
</body>
</html>
sans donner de coordonnées , l'element en absolu va afficher son coin haut et gauche , a l'endroit ou il apparait dans le flux du html. (moyennant les marges eventuelles appliqué par defaut selon les navigateurs ou regles css presentes , ils risque neanmoins de ne pas se demarquer des elements flottants dans firefoxe par exemple ).
bonne soirée.