CSS: Largura, Altura e Overflow CSS
Última atualização: 2026-10-13
1. Largura e Altura
(1) Referência Rápida de Propriedades de Dimensão
| Propriedade | Valores Comuns | Finalidade |
|---|---|---|
width |
300px, 50%, 50vw, auto |
Largura do conteúdo do elemento |
height |
200px, 50%, 50vh, auto |
Altura do conteúdo do elemento |
min-width |
320px, 50% |
Largura mínima (previne muito pequeno) |
max-width |
1200px, 80% |
Largura máxima (comum em responsivo) |
min-height |
200px, 100vh |
Altura mínima |
max-height |
400px |
Altura máxima (transborda se excedida) |
overflow |
visible, hidden, scroll, auto |
Como lidar com conteúdo que transborda |
overflow-x |
visible, hidden, scroll, auto |
Controle de overflow horizontal |
overflow-y |
visible, hidden, scroll, auto |
Controle de overflow vertical |
(2) width e height
width e height definem as dimensões da área de conteúdo do elemento:
▶ Exemplo
▶ Experimente(3) Unidades Comuns
▶ Exemplo
▶ Experimente(4) min-width / max-width
Limita a largura mínima/máxima do elemento, comumente usado em design responsivo:
▶ Exemplo
▶ Experimente(5) min-height / max-height
▶ Exemplo
▶ Experimente2. Função calc()
calc() é uma função CSS que permite cálculos matemáticos (adição, subtração, multiplicação, divisão) em valores de propriedade. Sua maior vantagem é misturar unidades diferentes.
+ e - devem ter espaços em ambos os lados (calc(100% - 20px) ✅, calc(100%-20px) ❌), * e / espaços são opcionais.
▶ Exemplo
▶ Experimente(1) Casos de Uso Comuns
- Barra lateral + Conteúdo principal:
.main { width: calc(100% - 300px); }adapta ao espaço restante - Cards com espaçamento igual:
.card { width: calc((100% - 40px) / 3); }três colunas com 20px de espaço - Fonte responsiva:
font-size: calc(14px + 0.5vw);tamanho base + incremento viewport - Centralização precisa:
left: calc(50% - 100px);offset conhecido alternativo ao transform
(2) Compatibilidade do calc()
calc() é suportado em IE11+, Chrome 26+, Firefox 16+, Safari 7+ e pode ser usado com segurança em projetos modernos. Apenas evite concatenação de strings no calc().
3. Controle de Overflow
auto. A melhor prática é usar a abreviação overflow.
Quando o conteúdo do elemento excede a largura/altura definida, ocorre "overflow". A propriedade overflow controla como o conteúdo que transborda é tratado.
(1) Valores de overflow
▶ Exemplo
▶ Experimente(2) Controlando Cada Direção
▶ Exemplo
▶ Experimente(3) Casos de Uso Comuns
1. Elipse de Texto
Combinado com text-overflow para truncamento de texto de linha única:
▶ Exemplo
▶ Experimente2. Recorte de Imagem
Tamanho fixo do contêiner com overflow hidden para imagens:
▶ Exemplo
▶ Experimente3. Contêiner de Rolagem
Cria uma área rolável de altura fixa:
▶ Exemplo
▶ Experimente4. Limpar Floats
Definir overflow: hidden ou overflow: auto no pai limpa efeitos de float dos filhos:
▶ Exemplo
▶ Experimente4. object-fit (Adaptação de Imagem/Vídeo)
object-fit controla como os elementos de substituição <img> ou <video> se adaptam ao tamanho do contêiner:
▶ Exemplo
▶ Experimente- cover: Mantém proporção, preenche contêiner, recorta excesso (mais comum)
- contain: Mantém proporção, mostra imagem completa, pode deixar espaço em branco
- fill: Estica para preencher sem manter proporção (pode distorcer)
- none: Mantém tamanho original
- scale-down: Pega o menor entre none e contain
5. Funções de Dimensão CSS
(1) calc()
calc() permite cálculos dinâmicos de dimensão no CSS, misturando unidades diferentes:
▶ Exemplo
▶ ExperimenteNota: Operadores devem ter espaços em ambos os lados, caso contrário não serão reconhecidos.
❓ Perguntas Frequentes
📖 Resumo
- Controlar dimensões de elementos e comportamento de overflow é fundamental para o layout
width/heightdefinem dimensões,min-width/max-widthrestringem intervalo,overflowlida com conteúdo que transbordaobject-fit: coveré uma ferramenta poderosa para tratamento de imagens, enquantocalc()fornece cálculo dinâmico flexível- Dominar essas propriedades dá melhor controle sobre o comportamento de elementos em todas as situações
📝 Exercícios
- Crie um "contêiner responsivo" — largura 80%, max-width 1200px, min-width 320px, centralizado horizontalmente.
- Crie um contêiner de imagem de tamanho fixo (300×200) com uma imagem maior, usando
object-fit: coverpara preencher sem distorção. - Implemente efeitos de "elipse de texto de linha única" e "overflow de texto de múltiplas linhas" (dica: múltiplas linhas usa
-webkit-line-clamp). - Use
calc()para implementar um layout "tela inteira menos altura da barra de navegação".