Unidades de medidas
No CSS, as unidades de medida desempenham o papel de definir os tamanhos e distâncias em uma página web. Existem duas categorias principais de unidades: as unidades absolutas e as unidades relativas.
Unidades Absolutas
Pixels (px
)
O pixel (px
) é uma unidade de medida absoluta que representa um ponto em uma tela. É uma unidade fixa e não se altera com base no tamanho da tela ou das configurações do usuário.
.nav-bar {
width: 200px; /* Largura fixa da barra de navegação */
padding: 10px; /* Preenchimento fixo de 10 pixels */
}
Unidades Relativas
Em (em
)
A unidade em
é relativa ao tamanho da fonte do elemento pai. Se o tamanho da fonte do elemento pai for 16 pixels, 1.5em
será equivalente a
.pai {
font-size: 16px; /* Tamanho da fonte do elemento pai */
}
.filho {
font-size: 1.5em; /* Tamanho da fonte será 1.5 vezes o tamanho da fonte do pai */
margin-bottom: 0.5em; /* Espaçamento inferior será 0.5 vezes o tamanho da fonte do pai */
}
Rem (rem
)
Similar à unidade em
, mas relativa ao tamanho da fonte do elemento raiz (normalmente o elemento <html>
). Isso garante uma consistência nas medidas em toda a página.
html {
font-size: 18px; /* Tamanho da fonte do elemento raiz */
}
.elemento {
font-size: 1.5rem; /* Tamanho da fonte será 1.5 vezes o tamanho da fonte do elemento raiz */
margin-bottom: 0.5rem; /* Espaçamento inferior será 0.5 vezes o tamanho da fonte do elemento raiz */
}
Porcentagem (%
)
A unidade de porcentagem é relativa ao valor do elemento pai. Por exemplo, se um elemento pai tem uma largura de 200 pixels e um elemento filho tem width: 50%
, ele terá 100 pixels de largura.
.container {
width: 200px;
}
.item {
width: 50%; /* Cada item terá metade da largura do container */
}
Viewport Width (vw
) e Viewport Height (vh
)
Essas unidades são relativas à largura (vw
) e à altura (vh
) da viewport, representando uma porcentagem da largura ou altura total da tela.
.secao {
width: 80vw; /* A largura da seção será 80% da largura da viewport */
height: 60vh; /* A altura da seção será 60% da altura da viewport */
}