CSS: Propriedades box-sizing, margin, padding, width e height

Neste tutorial, exploraremos cinco propriedades fundamentais do CSS que ajudam a controlar o layout e o espaçamento dos elementos em uma página web. Vamos abordar a teoria, exemplos práticos e referências confiáveis do W3Schools e MDN Web Docs.
1. A Propriedade box-sizing
Definição
A propriedade box-sizing é usada para alterar o comportamento padrão do modelo de caixa (box model) no cálculo das larguras (width) e alturas (height) dos elementos.
Por padrão, o modelo de caixa considera apenas o conteúdo de um elemento para calcular suas dimensões. Quando box-sizing é configurado como border-box, as dimensões incluem o padding e as bordas, o que facilita o controle e evita cálculos adicionais de espaçamento.
Vantagens do box-sizing: border-box
- Evita que o tamanho total de um elemento exceda o esperado ao adicionar
paddingouborder. - Facilita o design responsivo ao trabalhar com layouts fluidos.
Sintaxe
box-sizing: content-box | border-box;
content-box(valor padrão): Owidtheheightincluem apenas o conteúdo do elemento, excluindo padding e borda.border-box: O width e height incluem o conteúdo, padding e bordas.
Exemplo Prático
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exemplo Box-Sizing</title>
<style>
.content-box, .border-box {
display: inline-block;
text-align: center;
}
.content-box {
box-sizing: content-box;
width: 200px;
padding: 20px;
border: 10px solid black;
background-color: lightblue;
}
.border-box {
box-sizing: border-box;
width: 200px;
padding: 20px;
border: 10px solid black;
background-color: lightgreen;
}
</style>
</head>
<body>
<h4>Box Sizing</h4>
<div class="content-box">Content-Box</div>
<div class="border-box">Border-Box</div>
</body>
</html>
``` Exemplo Box-Sizing .content-box, .border-box { display: inline-block; text-align: center; } .content-box { box-sizing: content-box; width: 200px; padding: 20px; border: 10px solid black; background-color: lightblue; } .border-box { box-sizing: border-box; width: 200px; padding: 20px; border: 10px solid black; background-color: lightgreen; }
#### Resultado do exemplo acima - Box Sizing
Content-Box
Border-Box
No exemplo acima, observe que o tamanho final de `content-box` é maior do que o declarado no CSS devido ao acréscimo do `padding` e da `border`. Já no `border-box`, o tamanho final permanece conforme declarado.
#### Referências
* [W3Schools: box-sizing](https://www.w3schools.com/css/css3_box-sizing.asp)
* [MDN: box-sizing](https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing)
* * *
2\. A Propriedade `margin`
--------------------------
### Definição
A propriedade `margin` define a área de espaçamento externa de um elemento, ou seja, o espaço entre o elemento e os outros ao seu redor.
Você pode usar a abreviação `margin` para definir todas as margens simultaneamente ou controlar cada lado individualmente com:
* `margin-top` (margem superior)
* `margin-right` (margem direita)
* `margin-bottom` (margem inferior)
* `margin-left` (margem esquerda)
### Formas de Implementação
* **Abreviada**: Define as margens de todos os lados de uma só vez. `margin: 10px 15px 20px 25px; /* top, right, bottom, left */`
* **Individual**: Define margens específicas para cada lado. `margin-top: 10px; margin-right: 15px; margin-bottom: 20px; margin-left: 25px;`
* **Automática**: Usada frequentemente para centralizar elementos horizontalmente. `margin: auto;`
### Colapso de Margens
Uma característica importante do `margin` é o **colapso de margens**. Quando duas margens verticais de elementos adjacentes se encontram, a maior delas prevalece em vez de serem somadas.
### Sintaxe
margin: auto | length | percentage;
* **`auto`**: O navegador calcula automaticamente a margem. Geralmente usado para centralizar elementos horizontalmente.
* **`length`**: Define um valor fixo (em px, em, rem, etc.).
* **`percentage`**: Define uma margem relativa ao tamanho do elemento pai.
### Exemplo Prático
Resultado do exemplo acima - Margin
Resultado do exemplo acima - Margin
Margem Abreviada
Margem Auto
Margem Colapsada
No exemplo, margin: auto centraliza o elemento horizontalmente dentro do elemento pai, enquanto margin-collapse demonstra como margens podem se sobrepor.
Referências
3. A Propriedade padding
Definição
A propriedade padding define o espaço interno entre o conteúdo de um elemento e suas bordas. Assim como margin, pode ser usada como abreviação ou com propriedades específicas para cada lado:
padding-top(preenchimento superior)padding-right(preenchimento direito)padding-bottom(preenchimento inferior)padding-left(preenchimento esquerdo)
Formas de Implementação
- Abreviada: Define os preenchimentos de todos os lados de uma só vez.
padding: 10px 15px 20px 25px; /* top, right, bottom, left */ - Individual: Define preenchimentos específicos para cada lado.
padding-top: 10px; padding-right: 15px; padding-bottom: 20px; padding-left: 25px;
Impacto do padding
Ao adicionar padding, o espaço interno aumenta, mas isso não altera a posição externa do elemento. O preenchimento afeta apenas o conteúdo dentro do elemento.
Sintaxe
padding: length | percentage;
length: Valor fixo (px, em, rem, etc.).percentage: Relativo ao tamanho do elemento pai.
Exemplo Prático
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exemplo Padding</title>
<style>
.box {
border: 1px solid navy;
}
.padding-abreviado {
padding: 10px 15px 20px 25px; /* top, right, bottom, left */
background-color: rgb(255, 242, 224);
}
.padding-uniforme {
padding: 20px;
background-color: rgb(252, 255, 224);
}
.padding-percentage {
padding: 5%;
width: 80%;
background-color: lightgreen;
}
</style>
</head>
<body>
<h4>Padding</h4>
<div class="box padding-abreviado">Padding Abreviado</div>
<div class="box padding-uniforme">Padding Uniforme</div>
<div class="box padding-percentage">Padding em Porcentagem</div>
</body>
</html>
``` Exemplo Padding .padding { border: 1px solid navy; } .padding-abreviado { padding: 10px 15px 20px 25px; /\* top, right, bottom, left \*/ background-color: rgb(255, 242, 224); } .padding-uniforme { padding: 20px; background-color: rgb(252, 255, 224); } .padding-percentage { padding: 5%; width: 80%; background-color: lightgreen; }
#### Resultado do exemplo acima - Padding
Padding Abreviado
Padding Uniforme
Padding em Porcentagem
#### Referências
* [W3Schools: padding](https://www.w3schools.com/css/css_padding.asp)
* [MDN: padding](https://developer.mozilla.org/en-US/docs/Web/CSS/padding)
* * *
4\. As Propriedades `width` e `height`
--------------------------------------
### Definição
As propriedades `width` (largura) e `height` (altura) definem o tamanho de um elemento. Elas podem ser especificadas como valores fixos, percentuais ou automáticos.
* **`width`**: Controla a largura de um elemento.
* **`height`**: Controla a altura de um elemento.
### Valores Comuns
* **`auto`**: Valor padrão. O navegador calcula automaticamente o tamanho com base no conteúdo e no contexto do elemento pai.
* **`length`**: Define um valor fixo (em px, em, rem, etc.).
* **`percentage`**: Define um tamanho relativo ao elemento pai.
* **`max-width` e `max-height`**: Limitam o tamanho máximo do elemento.
* **`min-width` e `min-height`**: Estabelecem o tamanho mínimo.
### Sintaxe
width: auto | length | percentage; height: auto | length | percentage;
### Exemplo Prático
Width e Height
Resultado do exemplo acima - Width e Height
Tamanho Fixo
Tamanho em Porcentagem
Tamanho Automático
No exemplo acima, diferentes configurações de width e height demonstram como os valores afetam o tamanho dos elementos.
Referências
[MDN: width](https://developer.mozilla
Comentários
Não foi possível carregar os comentários no momento.
Deixe seu comentário