Alignement vertical en CSS

Kemich Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un div qui occupe une hauteur de 10% de ma page. Dans ce div j'ai une ligne de texte.
J'aimerais la centrer verticalement.

Si mon div était dimensionnée en pixels, pas de problemes, avec un line-height de la meme valeur que la hauteur de ma div, ca fonctionne.

Cependant je DOIT garder la hauteur de celui ci en %, et du coup, l'alignement vertical ne marche pas.

Quelqu'un a t'il une idée pour solutionner ce problème ?

Merci d'avance, bon codage !

5 réponses

Kemich Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   22
 
Enchanté,

Toujours pas d'idées ?
0
Gariig Messages postés 194 Date d'inscription   Statut Membre Dernière intervention   9
 
salut

essaie d'éviter de mettre une hauteur en pourcentage sur une div
Tu peux mettre

height:auto;

c'est mieux :°
0
Gariig Messages postés 194 Date d'inscription   Statut Membre Dernière intervention   9
 
sinon ce que tu peux faire, c'est à l'intérieur de ta div, tu peux mettre un tableau en précisant height: 100%

avec une ligne <tr> et une cellule <td valign="middle">

J'espere avoir pu t'aider ;)
0
Kemich Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   22
 
Enchanté,

Je DOIT garder ce div avec une hauteur en %, je me lance ds la construction de site en %, tout est calé, mon site s'adapte bien a toute les résolutions d'écran.

J'ai essayé de bidouiller avec un tableau dans ce div, mais ca ne fonctionne pas.

D'autres idées ?
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Si ton bloc fait 10% en hauteur, il reste donc 90%. Si tu veux le centrer en hauteur, il te suffit de mettre un top:45%; en n'oubliant de préciser le positionnement en relatif ou absolu.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kemich Messages postés 207 Date d'inscription   Statut Membre Dernière intervention   22
 
Ce n'est pas le div que je veut centrer, c'est le texte CONTENU dans ce div.

Merci quand meme.
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Le principe est le même.
Tu met le texte dans un div qui sera donc invisible et tu le centre dans son container.
Par exemple, si tu avait un code de ce genre:
<div class="bloc"> 
<p>texte</p> 
<p>texte</p> 
</div>

Si tu veux centrer le texte dans le div bloc, il te suffit de procéder comme suis:
<div class="bloc"> 
<div class="cent_vert"> 
<p>texte</p> 
<p>texte</p> 
</div> 
</div>

Après tout ce joue dans le CSS:
div.cent_vert{position:relative; top:50%;margin-top:-x%;}

Le x est à remplacer par la moitié de la hauteur du texte.
0