Índice
É neste contexto que ‘rem’ e ‘em’ se mostram úteis. São unidades flexíveis e se ajustam a diferentes tamanhos de tela. Muitos desenvolvedores necessitam de esclarecimentos sobre essas unidades, no entanto. Neste guia, elucidaremos o debate ‘rem’ vs ‘em’. Você aprenderá a utilizá-las para criar websites que funcionem adequadamente em todos os dispositivos.
Unidades CSS: Os Elementos Fundamentais do Design Web
As unidades CSS são essenciais para o design web.
They set the size and place of every part of your page.
Think of them as digital rulers, making sure your headings, text, images, and buttons fit together well.
CSS units come in different types, each with its own uses.
Os principais tipos de unidades CSS são fixas e flexíveis.
- Unidades fixas, como pixels (px), não alteram seu tamanho. Um pixel é sempre um ponto em sua tela. Isso as torna fáceis de utilizar, mas podem requerer ajustes no design responsivo. Websites precisam apresentar boa aparência tanto em telas grandes quanto pequenas. Utilizar apenas unidades fixas é análogo a construir uma casa com paredes rígidas – ela não se adaptará bem a mudanças.
- Unidades flexíveis alteram seu tamanho com base em outros fatores, como o tamanho da tela. Elas se expandem e contraem para se ajustar a diferentes dispositivos, tornando-as excelentes para design responsivo.
Existem também 4 unidades CSS para escolher:
- Pixels (px): Tamanho fixo, adequado para controle preciso
- Porcentagens (%): Flexíveis, frequentemente utilizadas para larguras e alturas
- Unidades de viewport (vw, vh): Tamanho baseado na janela do navegador
- ‘rem’ e ‘em’: Unidades flexíveis que serão o foco deste guia
A escolha da unidade CSS adequada vai além da mera aparência. Ela afeta a facilidade de uso e atualização do seu website. Imagine um texto demasiadamente pequeno para leitura em um telefone ou um layout desorganizado em um tablet. Tais problemas podem afastar os usuários. Ao compreender as vantagens e desvantagens de cada unidade, você pode criar websites que funcionem adequadamente para todos.
O que é ‘rem.‘
‘rem’ é uma unidade CSS flexível apreciada por muitos desenvolvedores web. Examinemos seu funcionamento e sua utilidade.
‘rem’ significa “root em”. O tamanho da fonte é determinado pelo elemento raiz da sua página web, que geralmente é o elemento <html>. Eis como funciona:
- Se o tamanho da fonte raiz for 16px (comum na maioria dos navegadores), 1rem equivale a 16px
- Se você alterar o tamanho da fonte raiz para 20px, 1rem então equivaleria a 20px
Esta relação entre ‘rem’ e o tamanho da fonte raiz o torna excelente para designs escaláveis.
Considere sua página web como um edifício. O elemento raiz é a fundação, e todos os outros elementos são blocos sobre ela. Quando você utiliza ‘rem’ para dimensionar algo, está dizendo: “Faça este bloco X vezes maior ou menor que a fundação.”
Por exemplo:
- Defina o tamanho da fonte raiz para 16px
- Faça um cabeçalho com 2rem
- O cabeçalho terá 32px (2 * 16px)
- Se você alterar a raiz para 20px, o cabeçalho se tornará 40px (2 * 20px)
Este escalonamento é excelente para design responsivo. Ao alterar o tamanho da fonte raiz para diferentes tamanhos de tela, você pode ajustar facilmente todo o seu layout.
Benefícios da Utilização de ‘rem’
A utilização de ‘rem’ apresenta diversas vantagens:
- Escalonamento Facilitado: Deseja alterar todos os tamanhos de fonte de uma vez? Basta atualizar o tamanho da fonte raiz. Tudo que utiliza ‘rem’ será escalado para corresponder.
- Manutenção Simplificada: ‘rem’ torna seu código CSS mais limpo e compreensível. Isso auxilia ao trabalhar com outros ou ao retornar ao seu projeto posteriormente.
- Maior Previsibilidade: Diferentemente de ‘em’, que se baseia no tamanho da fonte do elemento pai, ‘rem’ sempre se refere à raiz. Isso facilita a previsão da aparência dos elementos.
Quando Utilizar ‘rem’
‘rem’ é útil em diversas situações:
- Tamanhos de Fonte
Excelente para criar texto de fácil leitura em qualquer dispositivo. Esta configuração permite que os usuários ampliem ou reduzam, mantendo as proporções dos tamanhos de texto. Por exemplo:
css
html {
font-size: 16px; /* Base size */
}
h1 {
font-size: 2rem; /* 32px */
}
p {
font-size: 1.2rem; /* 19.2px */
}
- Dimensionamento de Elementos
Utilize ‘rem’ para larguras, alturas, margens e preenchimentos. Isso mantém seu layout equilibrado à medida que os tamanhos de tela mudam.
- Layout Geral
Utilize ‘rem’ para definir larguras de contêineres e espaçamentos entre seções. Isto auxilia toda a sua página a se ajustar suavemente a diferentes telas.
Ao utilizar ‘rem’, é possível construir websites que apresentem uma aparência satisfatória e funcionem adequadamente em uma variedade de dispositivos.
O que é ‘em.‘
Enquanto ‘rem’ proporciona uma base sólida para design web escalável, ‘em’ oferece uma abordagem distinta para dimensionar elementos com base em seu entorno. Examinemos como ‘em’ funciona e onde se destaca.
‘em’ deriva seu nome da largura da letra ‘M’ na impressão tradicional. Diferentemente de ‘rem’, que sempre considera o tamanho da fonte do elemento raiz, ‘em’ obtém seu tamanho do elemento pai. Isto significa:
- Quando o tamanho da fonte de um elemento pai é de 16 pixels, 1em de seu filho também será 16 pixels.
- Se o tamanho da fonte do elemento pai for alterado, os valores ‘em’ do filho também serão modificados.
Este método de escalonamento torna ‘em’ excelente para criar partes de uma página web que se ajustam para se adequar onde quer que sejam posicionadas.
Considere ‘em’ como uma árvore genealógica de tamanhos. Cada elemento transmite seu tamanho de fonte aos seus descendentes, que então utilizam esse tamanho para calcular suas próprias medidas ‘em’. Isto pode ocasionar um efeito em cadeia, onde a alteração do tamanho da fonte de um elemento afeta todos os seus descendentes.
Analisemos um exemplo:
css
.container {
font-size: 16px;
}
.container h2 {
font-size: 2em; /* 32px */
}
.container p {
font-size: 1.2em; /* 19.2px */
}
-
Neste caso:
- Os elementos <h2> e <p> obtêm seu tamanho a partir de .container.
- O <h2> terá o dobro do tamanho da fonte do contêiner (32px).
- O <p> será 1,2 vezes maior (19,2px).
Se alterarmos o tamanho da fonte de .container para 20px, os elementos <h2> e <p> serão automaticamente ajustados para 40px e 24px, respectivamente.
Este comportamento pode ser tanto útil quanto desafiador. Permite um design flexível, mas também pode resultar em surpresas se não for utilizado com cautela, especialmente em layouts complexos.
Benefícios da Utilização de ‘em’
- Ajusta-se ao Seu Entorno
‘em’ destaca-se por sua capacidade de alterar o tamanho com base em seu elemento pai. Isto é particularmente útil quando se deseja criar componentes do seu website que possam se adaptar a diferentes locais, cada um com seu próprio tamanho de fonte.
Por exemplo, imagine um botão que você deseja utilizar tanto no menu principal quanto na barra lateral. O menu pode ter um texto maior que a barra lateral, então você deseja que o botão altere seu tamanho para se adequar. Ao utilizar ‘em’ para o preenchimento, tamanho da fonte e outras medidas do botão, você garante que ele mantenha uma aparência adequada independentemente de onde seja posicionado.
- Excelente para Construção de Blocos
‘em’ funciona bem com design modular, onde você divide seu website em partes reutilizáveis. Ao dimensionar elementos dentro de um componente utilizando ‘em’, você cria uma unidade autônoma que se escala com base em seu próprio tamanho de fonte. Isto facilita a utilização do componente em diferentes partes do seu website sem preocupações com sua aparência deslocada.
É como construir com blocos. Cada bloco tem seu próprio tamanho, mas todos se encaixam porque são baseados na mesma medida. De maneira similar, ‘em’ permite criar “blocos” CSS que mantêm seu equilíbrio interno enquanto se integram à visão geral do seu website.
Esta abordagem não apenas torna seu código mais reutilizável e fácil de manter, mas também auxilia no aumento da eficiência do trabalho. Você pode concentrar-se em aperfeiçoar cada componente individualmente, sabendo que eles se integrarão harmoniosamente ao restante do seu design.
Onde Utilizar ‘em’
‘em’ é particularmente útil em situações onde se necessita de flexibilidade em partes específicas do seu website.
- Mantendo as Proporções
Uma das principais vantagens de ‘em’ é auxiliar os elementos dentro de um componente a manter suas proporções entre si. Isto significa que partes de um botão ou menu podem crescer ou diminuir juntas quando o tamanho da fonte do componente é alterado. Isto mantém tudo visualmente equilibrado, independentemente de onde você utiliza o componente em seu site.
Imagine um botão com preenchimento e tamanho de fonte definidos em ‘em’. Se você posicionar este botão em um contêiner com texto maior, o botão aumentará automaticamente, mantendo sua forma e aparência. Isto evita a necessidade de ajustar o estilo do botão toda vez que você o utiliza em um novo local.
- Criando Harmonia Entre Componentes
O ‘em’ também é excelente para assegurar que diferentes partes de um componente tenham uma boa aparência em conjunto.
Ao utilizar ‘em’ para elementos como margens, preenchimento e até mesmo tamanhos de imagem, pode-se garantir que todos se redimensionem juntos quando o tamanho da fonte do componente é alterado.
Isso cria um design onde todas as partes do componente parecem conectadas e equilibradas.Por exemplo, considere um componente de cartão com um título, uma imagem e algum texto.
Se você definir a altura da imagem e os espaços ao redor dos elementos usando ‘em’, todos crescerão ou diminuirão juntos quando o tamanho da fonte do cartão for alterado.
Isso mantém tudo com uma aparência consistente e evita que qualquer parte pareça demasiadamente grande ou pequena.Vamos examinar um exemplo prático:
css
.card {
font-size: 16px;
}
.card h3 {
font-size: 1.5em; /* 24px */
margin-bottom: 0.5em; /* 8px */
}
.card img {
height: 10em; /* 160px */
margin-bottom: 1em; /* 16px */
}
.card p {
font-size: 1em; /* 16px */
line-height: 1.5em; /* 24px */
}
-
Neste código, criamos um componente de cartão com um cabeçalho, uma imagem e um parágrafo.
Todos os tamanhos e espaços dentro do cartão estão definidos usando ‘em’, de modo que mudarão juntos se o tamanho da fonte do cartão for alterado.
Isso cria um componente que tem boa aparência e pode se adaptar a diferentes usos em todo o seu website.Desafios Potenciais com ‘em’
Embora o ‘em’ ofereça flexibilidade, é importante estar ciente de alguns desafios para evitar surpresas em seus layouts.
1. A Herança Pode Se Tornar Complexa
Como o ‘em’ é baseado em herança, às vezes pode levar a resultados inesperados, especialmente em estruturas HTML complexas.
Como cada elemento assume seu tamanho de fonte de seu pai, alterações feitas em níveis superiores podem ter efeitos surpreendentes mais adiante.Por exemplo, se você tiver uma lista dentro de um contêiner que usa ‘em’ para seu tamanho de fonte, alterar o tamanho da fonte do contêiner também mudará os tamanhos dos itens da lista.
Isso poderia torná-los demasiadamente grandes ou pequenos, causando problemas de layout.
Corrigir problemas de layout pode ser mais complexo, pois é necessário prestar atenção a como os tamanhos são transmitidos através do seu HTML.2. Testes São Essenciais
Devido à forma como o ‘em’ funciona, é realmente importante testar seus layouts minuciosamente.
É necessário garantir que tudo tenha boa aparência em diferentes situações e quando os tamanhos de fonte mudam.Certifique-se de verificar seu website em diferentes dispositivos e com diferentes níveis de zoom do navegador para detectar quaisquer problemas de layout.
As ferramentas de desenvolvedor do navegador podem ser muito úteis para examinar cadeias de herança e encontrar a fonte de quaisquer problemas relacionados ao ‘em’.
Sendo cuidadoso e proativo em seus testes, você pode evitar surpresas frustrantes e criar um website polido e amigável ao usuário.‘rem’ vs. Comparação ‘em’
Agora que exploramos as forças e peculiaridades individuais do ‘rem’ e ‘em’, vamos colocá-los lado a lado em uma comparação direta.
Isso lhe dará uma ideia melhor de como eles são diferentes e quando você deve usar cada um.Tabela de Comparação Lado a Lado
Recurso
rem
em
Definição
Relativo ao tamanho da fonte do elemento raiz
Relativo ao tamanho da fonte do elemento pai
Herança
Não herda
Herda do elemento pai
Escalabilidade
Excelente para escalonamento geral do website
Bom para escalonamento dentro de componentes
Manutenibilidade
Promove código mais limpo e mais fácil de manter
Pode levar a cadeias de herança complexas
Previsibilidade
Alta previsibilidade no dimensionamento de elementos
Pode ser imprevisível em estruturas aninhadas
Casos de Uso Ideais
Dimensionamento de fontes, dimensionamento de elementos, layout geral
Escalonamento modular, dimensionamento relativo dentro de componentes
Vantagens
Escalabilidade, manutenibilidade, previsibilidade
Escalonamento contextual, flexibilidade dentro de componentes
Desvantagens
Potenciais problemas com elementos aninhados, menor controle sobre ajustes refinados
Complexidades de herança, potencial para comportamento inesperado
Escolhendo a Unidade CSS Certa: O Que Considerar
Ao construir um website, escolher a unidade CSS correta é importante.
Aqui está o que você deve considerar:1. Qual o Tamanho do Seu Projeto?
O tamanho do seu projeto é relevante:
- Websites grandes: ‘rem’ pode funcionar melhor.
É mais fácil de escalar e manter organizado. - Projetos pequenos ou partes reutilizáveis: ‘em’ pode ser uma boa opção.
É mais flexível.
- Qual é o Seu Objetivo de Design?
Considere o que você deseja alcançar:
- Todo o website tem uma boa aparência em conjunto: ‘rem’ é melhor.
- Partes que podem se encaixar em qualquer lugar: ‘em’ pode ser o caminho a seguir.
3. Seu Site é Fácil de Usar para Todos?
Fazer seu site funcionar para todos os usuários é fundamental:
- ‘rem’ está vinculado ao tamanho da fonte principal.
Isso pode facilitar para os usuários alterarem o tamanho do texto sem comprometer o layout. - ‘em’ também pode funcionar, mas é necessário ter cautela quanto à forma como os tamanhos mudam dentro das partes do seu site.
4. Seu Site Funciona em Todos os Dispositivos?
Tanto ‘rem’ quanto ‘em’ podem funcionar bem para sites que têm boa aparência em todas as telas.
Entretanto:- ‘rem’ é mais previsível.
Sempre se relaciona ao tamanho da fonte principal. - ‘em’ pode ocasionalmente surpreendê-lo, especialmente em layouts complexos.
Será necessário testá-lo mais extensivamente.
Utilizando ‘rem’ e ‘em’ Conjuntamente: Melhores Práticas
Não é necessário escolher apenas um. Utilizar tanto ‘rem’ quanto ‘em’ pode aprimorar ainda mais seu site. Aqui está como:
- Comece com ‘rem’ para os fundamentos: Defina o tamanho da fonte principal com ‘rem’.
Isso estabelece a base para todo o seu site. - Utilize ‘em’ para elementos que precisam se adaptar em qualquer lugar: Para itens como botões ou menus, ‘em’ os ajuda a se encaixarem onde quer que sejam posicionados.
- Mantenha-se fiel ao ‘rem’ para os elementos principais: Utilize ‘rem’ para o layout principal, como a largura dos elementos ou o espaçamento entre seções.
Isso mantém a consistência. - Diversifique para partes aninhadas: Se houver elementos dentro de outros elementos, tente usar ambos.
Utilize ‘em’ para tamanhos dentro de um componente e ‘rem’ para qualquer coisa que precise corresponder ao layout geral. - Experimente diferentes abordagens: Seja ousado e experimente.
Teste diferentes combinações de ‘rem’ e ‘em’ para determinar o que funciona melhor para o seu site.
Ao utilizar ‘rem’ e ‘em’ em conjunto, é possível criar sites que tenham boa aparência e funcionem bem em todos os dispositivos.
Técnicas Avançadas e Ferramentas
À medida que você se torna mais proficiente com ‘rem’ e ‘em’, pode empregar algumas técnicas avançadas:
1. Variáveis CSS: Seu Centro de Controle de Design
As variáveis CSS permitem armazenar valores frequentemente utilizados.
Isso simplifica significativamente as alterações em seu design.Aqui está como funciona:
css
- Websites grandes: ‘rem’ pode funcionar melhor.
:root {
--main-font-size: 16px;
}
body {
font-size: var(--main-font-size);
}
h1 {
font-size: calc(2 * var(--main-font-size));
}
-
Neste exemplo, definimos um tamanho de fonte principal e o utilizamos para o texto do corpo e para calcular o tamanho do cabeçalho.
Se desejarmos alterar o tamanho posteriormente, basta modificar a variável uma única vez, e tudo será atualizado automaticamente!2. A Função calc(): Realize Cálculos em Seu CSS
A função calc() permite realizar cálculos diretamente em seu CSS.
Isso proporciona maior controle sobre seu layout.Por exemplo, você poderia definir a largura de uma barra lateral desta forma:
css
.sidebar {
width: calc(20vw - 20px);
}
-
Isso define a largura da barra lateral como 20% da largura da tela menos 20 pixels.
Ela se ajusta automaticamente para diferentes tamanhos de tela.3. Elementor: Simplificando o Uso de Unidades CSS
Se você deseja construir um website sem escrever código CSS diretamente, experimente o Elementor.
It’s a visual builder that lets you:- Altere tamanhos e estilos com controles intuitivos
- Visualize como seu site aparece em diferentes dispositivos
- Defina estilos para todo o seu site em um único local
O Elementor gerencia os cálculos para unidades relativas como rem e em, permitindo que você se concentre no design.
Erros Comuns e Como Corrigi-los
Mesmo com um conhecimento avançado sobre ‘rem’ e ‘em’, é possível encontrar dificuldades.
Aqui estão alguns equívocos comuns e como evitá-los:Mito 1: ‘em’ é Sempre Melhor para Acessibilidade
Realidade: Tanto ‘em’ quanto ‘rem’ podem funcionar bem para criar sites acessíveis.
‘rem’ pode ser mais eficaz para permitir que os usuários alterem o tamanho geral do texto.Mito 2: ‘rem’ é Apenas para Tamanhos de Fonte
Realidade: Você pode utilizar ‘rem’ para qualquer dimensão em sua página – largura, altura, margens e mais.
Mito 3: ‘em’ é Sempre Imprevisível
Realidade: Com planejamento e testes adequados, ‘em’ pode ser confiável e flexível.
Mito 4: Você Deve Sempre Escolher Um em Detrimento do Outro
Realidade: Frequentemente, utilizar tanto ‘rem’ quanto ‘em’ em conjunto produz os melhores resultados.
Dicas para Solucionar Problemas
Se você encontrar dificuldades com ‘rem’ ou ‘em’, experimente estas sugestões:
- Verifique a cadeia de tamanhos: Utilize as ferramentas do seu navegador para identificar quais elementos estão afetando os tamanhos.
- Procure por estilos conflitantes: Por vezes, outros códigos CSS podem sobrepor suas configurações de ‘rem’ ou ‘em’.
- Teste em diferentes dispositivos: Sempre verifique como seu site se apresenta em telefones, tablets e computadores.
- Utilize variáveis CSS e calc(): Essas ferramentas podem tornar seu CSS mais flexível e mais fácil de gerenciar.
- Experimente um construtor visual: Ferramentas como Elementor podem auxiliá-lo a gerenciar tamanhos sem se perder no código.
Concluindo
Tanto ‘rem’ quanto ‘em’ são ferramentas úteis para web designers. ‘rem’ é excelente para manter a consistência em todo o seu site, enquanto ‘em’ auxilia na criação de componentes flexíveis.
Não há uma resposta única correta—a melhor escolha depende do que você está construindo.
Compreender ambas as unidades o auxilia a tomar decisões inteligentes sobre seus websites.Não hesite em combinar ‘rem’ e ‘em’ para obter os melhores resultados.
E se você deseja uma maneira mais fácil de projetar, considere ferramentas como Elementor.Lembre-se, a prática leva à perfeição.
Quanto mais você trabalhar com essas unidades, melhor se tornará na criação de excelentes websites.
Desejamos-lhe um ótimo trabalho de design!
Procurando por conteúdo novo?
Receba artigos e insights em nossa newsletter semanal.
Ao inserir seu email, você concorda em receber e-mails da Elementor, incluindo e-mails de marketing,
e concorda com nossos Termos e Condições e Política de Privacidade.