📏 Unidades de Medida (px, rem, %, vw)

Escolher a unidade de medida correta é fundamental para criar designs consistentes e responsivos.

1. Unidades Absolutas: `px` (Pixel)

Pixels são unidades de tamanho fixo. Um elemento com width: 200px terá sempre 200 pixels de largura, independentemente do tamanho da tela ou do tamanho da fonte do navegador. São úteis para elementos que não devem mudar de tamanho, como bordas finas.

.borda-fixa {
    border: 1px solid black;
}

Esta borda tem exatamente 1px de espessura.

2. Unidades Relativas

Estas unidades são calculadas com base em outro valor, tornando-as flexíveis.

`rem` (Root EM)

É relativa ao tamanho da fonte do elemento raiz (<html>). Se o usuário aumentar o tamanho da fonte no navegador, todos os elementos definidos com rem escalarão proporcionalmente. É a unidade mais recomendada para fontes e espaçamentos, garantindo acessibilidade.

/* Se a fonte raiz for 16px (padrão): */
.titulo {
    font-size: 2rem; /* 2 * 16px = 32px */
}
.texto {
    font-size: 1rem; /* 1 * 16px = 16px */
}
.espacamento {
    margin-top: 1.5rem; /* 1.5 * 16px = 24px */
}

Título com 2rem

Parágrafo com 1rem.

`%` (Porcentagem)

É relativa ao mesmo valor no elemento pai. Se um elemento filho tem width: 50%, ele ocupará metade da largura de seu elemento pai.

.container-pai {
    width: 500px;
}
.filho-percentual {
    width: 50%; /* 50% de 500px = 250px */
}
Pai (500px de largura)
Filho (50% de largura)

3. Unidades de Viewport

São relativas ao tamanho da área de visualização do navegador (a janela).

São excelentes para criar seções que ocupam a tela inteira ou elementos que devem escalar diretamente com o tamanho da janela.

.secao-tela-cheia {
    height: 100vh; /* Ocupa 100% da altura da janela */
}
.barra-responsiva {
    width: 50vw; /* Ocupa 50% da largura da janela */
}

A caixa abaixo tem width: 50vw. Redimensione a janela do navegador para vê-la mudar de tamanho.

Eu tenho 50vw de largura.