Como posicionar elementos da web com alinhamento vertical CSS
Alinhar verticalmente elementos em uma página da web nem sempre foi fácil. Ainda não é simples, mas a propriedade CSS de alinhamento vertical pode ajudar.
CSS fornece várias propriedades de alinhamento. A propriedade text-align, limitada a elementos de bloco e células de tabela, descreve o alinhamento horizontal. Por outro lado, a propriedade vertical-align se aplica apenas a elementos embutidos e células de tabela.
Você pode usar muitos valores diferentes para controlar o alinhamento vertical. Alguns são relativos ao elemento pai, outros a elementos exibidos na mesma linha horizontal. Descubra exatamente como você pode usar o alinhamento vertical em diversas situações, para obter um posicionamento preciso.
Os diferentes valores de alinhamento vertical
A propriedade vertical-align assume três tipos distintos de valor: palavras-chave, porcentagens e comprimentos. Cada valor representa uma posição vertical em uma linha ou relativa ao elemento pai (contêiner) do elemento de destino.
Os principais valores de alinhamento vertical são:
- linha de base: posiciona o elemento de destino dentro da linha de base do elemento pai.
- topo: posiciona o topo do elemento alvo com o topo do elemento mais alto na linha atual.
- meio: centraliza o elemento de destino em sua linha atual.
- inferior: posiciona a parte inferior do elemento alvo com a parte inferior do elemento mais baixo na linha atual.
- sub: posiciona o elemento de destino com a linha de base subscrita do elemento pai.
- super: posiciona o elemento alvo na linha de base sobrescrita do elemento pai.
- text-top: posiciona o elemento alvo no topo da fonte do elemento pai.
- text-bottom: posiciona o elemento alvo com a parte inferior da fonte do elemento pai.
- porcentagem (por exemplo, 20%): posiciona a linha de base do elemento alvo em um ponto acima, abaixo ou na linha de base do elemento pai. Este valor pode ser negativo ou positivo.
- comprimento (por exemplo, 10em): posiciona a linha de base do elemento alvo em um ponto acima, abaixo ou na linha de base do elemento pai. Este valor pode ser negativo ou positivo.
Um modelo HTML básico
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
table {
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid black;
}
</style>
<title>Document</title>
</head>
<body>
<div id="container">
<a href="http://google.com">Google Search</a>
<img src="https://source.unsplash.com/jFCViYFYcus/300x150" alt=" image of the forest">
<video width="320" controls>
<source src="videos/ocean_view.mov" type="video/mp4">
Video of the ocean.
</video>
<table>
<tr>
<th>Scenery</th>
<th>Discription</th>
</tr>
<tr>
<td>Forest</td>
<td>Lorem ipsum dolor sit amet.</td>
</tr>
<tr>
<td>Ocean</td>
<td>Lorem ipsum dolor sit amet.</td>
</tr>
</table>
</div>
</body>
</html>
O código HTML acima cria uma página web simples que exibe quatro elementos: texto vinculado, uma imagem, um vídeo incorporado e uma tabela. Deve ficar assim no seu navegador:
Como alinhar texto verticalmente
Por padrão, a maioria dos elementos de texto (como títulos, tags
e
No entanto, alguns elementos de texto, como as tags e , estão embutidos. Como resultado, eles suportam a propriedade vertical-align. Para alinhar o texto verticalmente, basta atribuir o valor apropriado à propriedade CSS vertical-align.
Usando o valor superior de alinhamento vertical no texto
a {
vertical-align: top;
}
Adicionar o código CSS acima ao documento HTML básico alinhará o topo do texto da tag com o topo do elemento mais alto da linha. Produzindo a seguinte exibição atualizada:
Usando o valor percentual no texto
a {
vertical-align: -50%;
}
O CSS acima alinha o elemento de texto em uma posição 50% abaixo da linha de base do elemento pai. Ele produz a seguinte saída em seu navegador:
Como você pode ver na imagem acima, o elemento texto ocupa uma posição abaixo dos elementos imagem e vídeo, que estão na mesma linha. Para posicionar este elemento na linha de base ou acima dela, use um valor percentual positivo.
Usando o valor de comprimento no texto
a {
vertical-align: 90px;
}
O código acima alinha a linha de base do elemento de texto a um comprimento de 90px acima da linha de base do elemento pai. Isso produz a seguinte saída em um navegador:
Como alinhar imagens verticalmente
A tag é um elemento embutido, com o qual a propriedade CSS vertical-align funciona bem.
Usando o supervalor de alinhamento vertical em imagens
img {
vertical-align: super;
}
O código acima posiciona a imagem na linha de base sobrescrita do elemento pai. Isso significa uma posição acima da linha de base, como você pode ver na saída a seguir:
Usando o valor percentual de alinhamento vertical em imagens
img {
vertical-align: 25%;
}
O código acima alinha a linha de base do elemento de imagem 25% acima da linha de base do elemento pai. Isso produz o seguinte efeito de espelho do supervalor:
Usando o valor de comprimento de alinhamento vertical em imagens
img {
vertical-align: 5px;
}
O código acima alinha a linha de base do elemento de imagem em uma posição 5px acima da linha de base do elemento pai. Isso produz um efeito semelhante ao dos valores super e 25%:
Como alinhar verticalmente a mídia incorporada
Mídias incorporadas, como vídeos e iframes, são elementos HTML embutidos. Portanto, a propriedade CSS vertical-align funciona muito bem com eles.
Usando o supervalor de alinhamento vertical em um vídeo
video {
vertical-align: sub;
}
O código acima posiciona o vídeo na linha de base do subscrito do elemento pai. Isso significa que está em uma posição abaixo da linha de base, como você pode ver na saída a seguir:
Usando o valor percentual de alinhamento vertical em um vídeo
video {
vertical-align: -25%;
}
O código acima alinha a linha de base do elemento de vídeo 25% abaixo da linha de base do elemento pai. Isso produz o seguinte efeito de espelho do subvalor:
Usando o valor de comprimento de alinhamento vertical em um vídeo
video {
vertical-align: -5px;
}
O código acima alinha a linha de base do elemento de imagem em uma posição 5px abaixo da linha de base do elemento pai. Isso produz um efeito como os valores sub e -25%:
Como alinhar itens verticalmente em uma tabela
Usar a propriedade vertical-align com uma tabela é um pouco complicado, pois uma tabela é um elemento de bloco. No entanto, as tags
Usando o valor superior de alinhamento vertical nos dados da tabela
td {
height: 40px;
vertical-align: top;
}
O código acima adiciona uma altura de 40px a cada célula da tabela. Em seguida, ele alinha os dados de cada célula ao topo de cada linha. Isso produz a seguinte saída no navegador:
Usando o valor médio de alinhamento vertical nos dados da tabela
td {
height: 40px;
vertical-align: middle;
}
O valor médio de alinhamento vertical no código acima centraliza verticalmente os dados dentro de cada célula. Produz a seguinte saída no navegador:
Usando o valor inferior de alinhamento vertical nos dados da tabela
td {
height: 40px;
vertical-align: bottom;
}
O código acima alinha os dados de cada célula na parte inferior de cada linha. Produz a seguinte saída no navegador:
Agora você pode alinhar os elementos da sua página da web
Agora você pode usar a propriedade CSS vertical-align com uma série de diferentes elementos embutidos, incluindo texto, mídia incorporada e dados de tabela. A regra geral é que a propriedade vertical-align funciona apenas em elementos inline e inline-block.
No entanto, você pode usar esta propriedade em elementos de bloco, basta convertê-los primeiro em elementos inline ou inline-block. Lembre-se de que você pode combinar o alinhamento vertical com outras propriedades de alinhamento, como alinhamento de texto.
Artigos relacionados:
- Hyper – um belo terminal construído com HTML, CSS e JavaScript
- Como minimizar arquivos CSS e JS usando UglifyJS e UglifyCSS
- Aumente o nível do seu documento HTML com CSS
- Como CSS Gap adiciona espaço para aprimorar layouts da web
- 3 maneiras fáceis de centralizar um elemento com CSS
- Um guia para iniciantes em Z-Index em CSS
- 8 dicas e truques essenciais de CSS que todo desenvolvedor deve saber
- Como alterar o tamanho da fonte HTML em CSS
- 10 truques CSS incríveis para transformar seus layouts da web
- Um guia para iniciantes em Tailwind CSS em React
- O que é Sass? Aprenda como usar esta linguagem de extensão CSS
- 9 truques CSS avançados de consulta de mídia que você deve conhecer
- Como usar CSS para alterar a cor da fonte
- Como usar Flex para alinhar elementos HTML
- Como centralizar imagens com CSS