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;
}
}