HTML-CSS centrer le Texte horizontalement et verticalement dans un lien
Je suis en train de faire un lien qui a un height
et un width
de 200px.
Le texte du lien doit être centré verticalement et horizontalement.
C'est mon CSS pour l'instant:
a:link.Kachel {
width: 200px;
height: 200px;
margin: 0 auto;
display: block;
text-align: center;
background: #383838;
display: -webkit-box;
display: -moz-box;
display: box;
-webkit-box-align: center;
-moz-box-align: center;
box-align: center;
}
et ce le code HTML:
<tr>
<td>
<a class="Kachel" href="#">Test</a>
</td>
</tr>
Le texte est centrée horizontalement mais pas verticalement.
Aucune idée comment faire pour obtenir le texte centré à la fois horizontalement et virtically?
Vous devez vous connecter pour publier un commentaire.
supprimer tous les autres non-sens, et il suffit de remplacer
height
avecline-height
jsfiddle: http://jsfiddle.net/6jSFY/
height: 100%
?En CSS3, vous pouvez réaliser cela avec un flexbox, sans éléments supplémentaires.
Si le texte est sur une seule ligne, vous pouvez utiliser
line-height:200px;
- où la 200px est le même que leheight
valeur.Si le texte est sur plusieurs lignes et sera toujours sur le même nombre de lignes multiples, vous pouvez utiliser
padding
combiné avecline-height
. Exemple avec 2 lignes:Cette façon, les deux lignes sera un total de 40px et le rembourrage supérieur met parfaitement dans le milieu. Notez que vous aurez besoin d'ajuster la
height
en conséquence.JSFiddle exemple.
Si il n'y a plus qu'un lien et qu'il y ait un certain nombre de lignes, vous aurez besoin d'un accompagnement JavaScript pour fixer le rembourrage sur chaque.
Petit point à ajouter. Si vous supprimez le trait de soulignement (text-decoration: none;) alors le texte n'est pas parfaitement centré verticalement. Liens de laisser de l'espace pour le souligner. À ma connaissance, il n'existe aucun moyen de remplacer ce sauf à ajouter un peu plus haut rembourrage.
Si le nombre de lignes (ou de l'intérieur de l'élément de hauteur) n'est pas connue, il y a un autre truc à l'aide de
display: table
etvertical-align
:Exemple
Article complet avec les détails
Peut-être à l'aide de rembourrage? Comme: