A questão parece ser que certas letras, como g
, y
, q
, etc. que têm uma cauda que se inclina para baixo, não permitem a centragem vertical. Aqui está uma imagem para mostrar o problema .
Os caracteres na caixa verde são basicamente perfeitos, pois não têm cauda descendente. Aqueles na caixa vermelha demonstram o problema.
Eu gostaria que todos os personagens estivessem perfeitamente centralizados na vertical. Na imagem, os caracteres com uma cauda descendente não são centralizados verticalmente. É possível corrigir isso?
Aqui está o violino que demonstra o problema por completo .
.avatar {
border-radius: 50%;
display: inline-block;
text-align: center;
width: 125px;
height: 125px;
font-size: 60px;
background-color: rgb(81, 75, 93);
font-family: "Segoe UI";
margin-bottom: 10px;
}
.character {
position: relative;
top: 50%;
transform: translateY(-50%);
line-height: 100%;
color: #fff;
}
<div class="avatar">
<div class="character">W</div>
</div>
<div class="avatar">
<div class="character">y</div>
</div>
v
na y
e o
parte na g
estão na mesma linha que o ponto mais baixo para as letras maiúsculas. Com a sua lógica, Å, Ä, Ö seria alinhado como A e O, mas não podem ser. Se você quiser fazer algo especial a respeito, precisará usar o javascript para verificar se é uma letra minúscula e depois empurrar o personagem para alguns caracteres.