Centralizar texto verticalmente em CSS

Sushant Poudel 20 fevereiro 2023
  1. Use a propriedade line-height para centralizar o texto verticalmente em CSS
  2. Use as propriedades display, vertical-align e line-height para centralizar o texto verticalmente em CSS
  3. Simule a exibição da tabela para centralizar verticalmente o texto em CSS
Centralizar texto verticalmente em CSS

Este artigo irá apresentar métodos para centralizar os textos verticalmente em CSS.

Use a propriedade line-height para centralizar o texto verticalmente em CSS

Podemos definir a altura da propriedade line-height como o div para centralizar o texto verticalmente em CSS. A propriedade line-height especifica a altura de uma linha. Pode ser ilustrado criando uma borda do elemento div. Também podemos usar a propriedade text-align e defini-la como center para alinhar o texto ao centro horizontalmente.

Por exemplo, crie um div em HTML e escreva o texto Hello World! entre. A seguir, em CSS, defina a altura do div para 200px. Além disso, defina a line-height com o mesmo valor. Alinhe o texto ao centro com a propriedade text-align. Crie uma borda solid de largura 3px na cor black usando a propriedade abreviada border.

No exemplo abaixo, definimos os mesmos pixels de line-height e height de div. Assim, ele centraliza o texto verticalmente. No entanto, esse método funciona apenas para textos de uma linha.

Código de exemplo:

<div>
    Hello World!
</div>
div {
    height: 200px;
    line-height: 200px;
    text-align: center;
    border: 3px solid black;
}

Use as propriedades display, vertical-align e line-height para centralizar o texto verticalmente em CSS

Podemos centralizar o texto em várias linhas usando as diferentes propriedades CSS como display, vertical-align e line-height. A propriedade display define o comportamento de exibição de um elemento. A propriedade vertical-align é responsável pelo alinhamento vertical do elemento. Podemos definir display como inline-block e vertical-align para middle para obter o alinhamento vertical de várias linhas de texto.

Por exemplo, crie um div em HTML e escreva span dentro dele. Escreva o texto Hello e quebre a linha com <br> e depois escreva World! dentro da span. A seguir, em CSS, atribua line-height e height ao mesmo valor de 200px selecionando div. Dê uma borda ao div e alinhe o texto ao centro, como fizemos no primeiro método. Em seguida, selecione span e defina a propriedade display para inline-block. Em seguida, atribua o valor da propriedade middle à propriedade vertical-align. Finalmente, defina o valor de altura da linha para normal.

No exemplo abaixo, alteramos a propriedade line-height para normal em span para que as várias linhas de texto tenham a line-height normal. O valor inline-block iniciará a próxima linha do texto logo abaixo da linha acima. O valor middle da propriedade vertical-align colocará o texto no meio do eixo vertical.

Código de exemplo:

<div>
    <span>Hello <br> World! </span>
</div>
div {
    height: 200px;
    line-height: 200px;
    text-align: center;
    border: 3px solid black;
}
span {
    display:inline-block;
    vertical-align: middle;
    line-height: normal;
}

Simule a exibição da tabela para centralizar verticalmente o texto em CSS

Podemos simular o texto como uma célula de tabela para centralizá-lo verticalmente em CSS. Usamos a propriedade display para simular uma tabela. Também usaremos a propriedade vertical-align para centralizar o texto verticalmente. Vamos trabalhar no trecho de HTML do segundo método e aplicar um novo CSS a ele.

Em primeiro lugar, selecione o div e defina a altura, largura e borda. Use a propriedade display e defina o valor para table. Isso fará com que o div atue como uma mesa. Em seguida, selecione span e defina a propriedade display para table-cell e a propriedade vertical-align para middle. Definir o elemento span como table-cell tornará o elemento como uma célula de tabela. Desta forma, podemos criar um texto centralizado verticalmente.

Código de exemplo:

<div>
    <span>Hello <br> World!</span>
</div>
div {
    display: table;
    height: 200px;
    width: 100%;
    text-align: center;
    border: 3px solid black;
}
span {
    display: table-cell;
    vertical-align: middle;
}
Sushant Poudel avatar Sushant Poudel avatar

Sushant is a software engineering student and a tech enthusiast. He finds joy in writing blogs on programming and imparting his knowledge to the community.

LinkedIn

Artigo relacionado - CSS Alignment