Centrer verticalement un texte dans un bloc en %

Fermé
Bim13 - 4 juin 2014 à 11:15
 Jibap - 22 oct. 2015 à 11:54
Bonjour,

Je cherche à aligner un texte verticalement dans un bloc dont la hauteur est définie en pourcentage. J'ai essayé avec vertical-align:middle, sans succès.

Voici le HTML :


<a class="tuile" href="#" style="font-size:1.7vw;">TEXTE A ALIGNER</a>

et le CSS :


.tuile
{
margin-top:5%;
border-radius: 10px;
display:inline-block;
width:90%;
height:90%;
text-align:center;
z-index:2;
vertical-align:middle;
}

Je vous remercie d'avance pour votre aide

4 réponses

tete0148 Messages postés 413 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 89
4 juin 2014 à 12:10
Essayez avec top et bottom (il faut donc mettre en position relative ou absolute.)
0
curumo_leblanc Messages postés 266 Date d'inscription samedi 10 septembre 2011 Statut Membre Dernière intervention 7 juillet 2014 74
5 juin 2014 à 02:58
En général pour centrer du texte sur une seule ligne d'un bloc on utilises :

line-height:xx px;
height:xx px;

Donc faute de mieux, je te propose de tester avec ton 90%.
0
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
5 juin 2014 à 16:23
mets ca dans un div

<div id="tuile"><p><a href="#">TEXTE A ALIGNER</a></p></div>

#tuile
{
display:inline-block;
vertical-align:middle;
line-height:20px;
}

#tuile p {
text-align:center;
font-size:20px;
line-height:20px;
}

voila ce sera centré dans son parent: c'est la base, après tu peux rajouter des border padding etc ...
0
Bonjour Bim13
il existe une solution pour les conteneurs dont la hauteur est spécifiée en % :

<div class="conteneur">
<div class="bloc">
Zone centrée verticalement et horizontalement
</div>
</div>


----------------------------
div.conteneur { 
text-align:center; /* centrage horizontal */
border: 1px solid red;
height:30%;
display: table;
}

div.bloc {
display: table-cell;
vertical-align:middle;
}


En espérant que cela réponde à votre pb.
0