2
respostas

Alinhamento do texto no centro da caixa

Bom dia!

Consegui inserir a caixa no site da Alura pelo console, mas há um resultado que eu não consegui reproduzir: colocar o texto no centro da caixa.

Com o text-align eu consegui mudar o alinhamento do texto para centralizado, mas o texto continua no topo da caixa. Como faço para colocá-lo no centro da caixa?

.caixa {
    background-color: white;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 150px;
    width: 40%;
    font-size: 1.5em;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.7);
    z-index: 9999;
    padding: 1em;
    text-align: center;
}
2 respostas

Boa tarde pessoal.

Pesquisando rapidamente, encontrei uma solução que seria colocar uma propriedade

line-height: N

no elemento, onde N deve ser do mesmo tamanho da altura elemento.

Funcionou no meu teste. É uma boa solução ou uma gambiarra?

Fala ai Carlos, tudo bem?

É uma boa solução ou uma gambiarra?

É uma boa solução, mas, tem suas vantagens e desvantagens.

Como ponto de desvantagens eu vejo a necessidade de ficar definindo a altura (height) de forma fixa.

Um outro jeito de centralizar seria aplicando um padding para top e bottom com o mesmo valor.

Também tem como fazer com display:flex e align-items: center.

Espero ter ajudado.