Code : Tout sélectionner
.divconteneur{
width:200px;
height:200px;
vertical-align:middle;
display:table-cell;
}Code : Tout sélectionner
<div class="divconteneur">
test
</div>Le seul inconvénient de cette solution est qu'elle n'est pas comprise des versions d'Internet Explorer antérieures à la 8.J'ai trouvé une autre solution plus "propre"
Ton div conteneur , tu le fais apparaitre comme une cellule , ainsi , tu peux utiliser vertical-align :
Ainsi , le code :Code : Tout sélectionner
.divconteneur{ width:200px; height:200px; vertical-align:middle; display:table-cell; }
Va centrer ton texte , même si c'est du multilignes ..Code : Tout sélectionner
<div class="divconteneur"> test </div>
Cette propriété s'applique également lorsqu'il s'agit d'aligner verticalement un élément en ligne par rapport à un élément en ligne voisin (comme une image par rapport au texte qui l'environne).vertical-align , est valable uniquement pour des elements de type tableau
Code : Tout sélectionner
#temoi_texte {
margin-left : 125px;
height: 85px;
width: 415px;
font-size: 14px;
vertical-align:middle;
display:table-cell;
}
Par contre j'ai pas trop compris ta phrase. En gros j'ai une div ou je lui dis d'être centré verticalement (avec une marge négative dont la valeur est exactement la moitié de la hauteur), et je crée une seconde div a l'interieur de celle ci ou je met mon texte ?pour du multiligne tu dois créer un élément à l'intérieur le conteneur centre verticalement le contenu affiche
yapOui j'ai vu après.. Du coup la solution me convient pas xD
Par contre j'ai pas trop compris ta phrase. En gros j'ai une div ou je lui dis d'être centré verticalement (avec une marge négative dont la valeur est exactement la moitié de la hauteur), et je crée une seconde div a l'interieur de celle ci ou je met mon texte ?pour du multiligne tu dois créer un élément à l'intérieur le conteneur centre verticalement le contenu affiche
Code : Tout sélectionner
<div id="container">
<div class="temoi_texte">«Bla bla bla bla bla tralalala»</div>
</div>Code : Tout sélectionner
#container {
position:absolute;
left: 125px;
top: 50%;
width: 415px;
height: 100px;
margin-top: -50px; /* moitié de la hauteur */
border: 1px solid #000;
}
.temoi_texte {
font-size: 14px;
}Code : Tout sélectionner
<div id="conteneur-1">
<div id="conteneur-2">
<div id="contenu">Ton texte à centrer verticalement</contenu>
</div>
</div>Code : Tout sélectionner
#conteneur-1 {
height: 200px; /* Il faut une hauteur explicite, sinon ça ne marche pas */
position: relative; /* On positionne le conteneur */
}
#conteneur-2 {
position: absolute;
top: 50%;
/* On positionne cet élément en absolu à la moitié de la hauteur de l'élément parent positionné */
}
#contenu {
position: relative; /* On positionne le contenu... */
top: -50%; /* ... afin d'en ajuster l'alignement vertical */
}
Code : Tout sélectionner
<div id="container">
<div class="temoi_texte">«Bla bla bla bla bla tralalala»</div>
</div>Code : Tout sélectionner
#container {
position:absolute;
left: 125px;
width: 415px;
height: 100px;
margin-top: -50px; /* moitié de la hauteur */
border: 1px solid #000;
}
.temoi_texte {
position:absolute;
font-size: 14px;
top: 50%;
}Pourquoi ne mets-tu pas ce texte dans un élément mis en positionnement flottant (avec la propriété float) ou positionné en absolu (top: 0 et left: 0, le bloc centré devant alors être positionné) ?mais le texte ce mettra toujours en haut a gauche du bloc centré..