Media Queries
As Media Queries permitem que um site se adapte a diferentes tamanhos de tela e tipos de mídia. Isso é crucial para garantir uma experiência de usuário consistente em dispositivos variados, desde telas de computadores até dispositivos móveis.
Sintaxe
A estrutura de uma Media Query envolve a regra @media
, seguida por condições e blocos de código CSS.
@media tipo-de-midia and (condicao) {
/* Regras de CSS a serem aplicadas se a condição for atendida */
}
Operadores lógicos
Os operadores lógicos são componentes fundamentais nas Media Queries, permitindo a construção de condições mais sofisticadas para adaptar estilos com precisão a diferentes contextos.
Combinação de condições (and
)
O operador and
é utilizado para criar condições onde ambas as expressões devem ser verdadeiras para que as regras de estilo dentro da Media Query sejam aplicadas.
@media (max-width: 768px) and (orientation: portrait) {
/* Aplica estilos quando a largura é inferior a 768px e a orientação é retrato */
}
Alternância entre condições (or
)
O operador or
é utilizado para aplicar estilos se pelo menos uma das expressões for verdadeira.
@media (min-width: 768px) or (orientation: landscape) {
/* Aplica estilos se a largura for superior a 768px ou se a orientação for paisagem */
}
Negação de condição (not
)
O operador not
é empregado para inverter a lógica da condição, aplicando estilos apenas quando a expressão é falsa.
@media not screen and (max-width: 600px) {
/* Aplica estilos se não for uma tela e a largura não ultrapassar 600px */
}
Tipos de mídia
Os tipos de mídia indicam o contexto em que as regras CSS devem ser aplicadas. Os quatro tipos principais são:
all
: Aplica a regra a todos os tipos de mídia (padrão).screen
: Destinado a dispositivos com telas, como computadores e tablets.print
: Aplicado quando a página é impressa.speech
: Projetado para leitores de tela.
Breakpoints
Breakpoints são pontos específicos em que o layout da página é ajustado para melhor se adequar ao tamanho da tela. Eles são essenciais para garantir que a experiência do usuário seja otimizada em diferentes dispositivos.
A seguir alguns breakpoints comuns em termos de larguras dos dispositivos:
320px - 480px
: dispositivos móveis481px - 768px
: iPads, tablets769px - 1024px
: telas pequenas, laptops1025px - 1200px
: desktops, telas grandes1201px e acima
: telas muito grandes, TVs
@media (max-width: 768px) {
/* Regras de CSS para telas menores que 768px (ex: tablets) */
}
Abordagem Mobile First
A abordagem “Mobile First” é uma prática recomendada, onde o design inicial é otimizado para dispositivos móveis e, em seguida, é expandido para telas maiores. Isso contribui para páginas mais leves e uma melhor adaptação às diferentes condições de exibição.
/* Estilos base para dispositivos móveis */
body {
font-size: 16px;
}
/* Media Query para telas maiores */
@media (min-width: 768px) {
body {
font-size: 18px;
}
}