📱 Mobile-First
Mobile-first significa desenhar primeiro para mobile, depois expandir para telas maiores. Com mais de 60% do trafego web vindo de dispositivos moveis, isso nao e mais opcional.
🔄 Desktop-First vs Mobile-First
❌ Desktop-First (Antigo)
- 1. Desenha para desktop (1440px)
- 2. Tenta encaixar em tablet
- 3. Espreme tudo no mobile
- 4. Resultado: mobile quebrado
✓ Mobile-First (Correto)
- 1. Desenha para mobile (320px)
- 2. Expande para tablet
- 3. Adiciona mais em desktop
- 4. Resultado: funciona em tudo
💡 Por que Mobile-First Funciona
- • Forca a priorizar conteudo - espaco limitado
- • Performance melhor - menos CSS para carregar
- • Mais facil adicionar do que remover elementos
🎯 Vocabulario para Prompts
Use: design mobile-first,
comecando do mobile e expandindo,
layout que prioriza mobile,
responsivo mobile-first com Tailwind.
📐 Breakpoints
Breakpoints sao os pontos de largura onde o layout muda. Nao existe um padrao universal, mas ha valores comuns que funcionam bem para a maioria dos casos.
📊 Breakpoints Tailwind (Padrao)
| Prefixo | Min-width | Dispositivo |
|---|---|---|
| (default) | 0px | Mobile pequeno |
| sm: | 640px | Mobile grande / Tablet pequeno |
| md: | 768px | Tablet |
| lg: | 1024px | Laptop / Desktop pequeno |
| xl: | 1280px | Desktop |
| 2xl: | 1536px | Desktop grande |
💻 Exemplo Mobile-First com Tailwind
Sem prefixo = mobile. md: = tablet+. lg: = desktop+
🎯 Vocabulario para Prompts
Use: breakpoints padrao Tailwind,
1 coluna mobile, 2 tablet, 3 desktop,
layout responsivo em md: e lg:,
adaptar para 768px e 1024px.
🌊 Layouts Fluidos
Layouts fluidos usam unidades relativas (%, vw, vh, rem) em vez de pixels fixos. Isso permite que o design se adapte suavemente entre breakpoints.
📏 Unidades Relativas
%
Porcentagem do pai. Ex: width: 50%
vw / vh
Porcentagem da viewport. 100vw = largura total
rem
Relativo ao font-size do root (16px = 1rem)
em
Relativo ao font-size do elemento pai
🔄 Container Fluido com Max-Width
Padrao comum: largura 100% ate um maximo, depois centraliza:
w-full= 100% da largura disponivelmax-w-6xl= maximo de 1152pxmx-auto= centraliza horizontalmentepx-4= padding lateral de 16px
🎯 Vocabulario para Prompts
Use: layout fluido com max-width,
container centralizado max-w-6xl,
larguras em porcentagem,
espacamento em rem.
📦 Flexbox e Grid
Flexbox e CSS Grid sao os dois sistemas modernos de layout. Flexbox e ideal para layouts 1D (linha ou coluna). Grid e ideal para layouts 2D (linhas e colunas).
📐 Flexbox
Use para:
- • Navegacao horizontal
- • Centralizar elementos
- • Distribuir espaco
- • Alinhar items
🔲 CSS Grid
Use para:
- • Grid de cards
- • Layouts de pagina
- • Galerias de imagens
- • Layouts complexos
⚡ Quando Usar Cada Um
| Situacao | Recomendado |
|---|---|
| Navbar com logo e menu | Flexbox |
| Grid de 3 cards | Grid |
| Centralizar um botao | Flexbox |
| Layout sidebar + content | Grid |
| Lista de tags/badges | Flexbox (com wrap) |
🎯 Vocabulario para Prompts
Use: flexbox para navbar,
CSS grid para cards,
flex justify-between items-center,
grid-cols-1 md:grid-cols-3.
🖼️ Imagens Responsivas
Imagens precisam adaptar ao container e carregar em tamanhos apropriados para nao desperdicar banda.
🔧 Tecnicas Essenciais
max-width: 100%
A imagem nunca ultrapassa o container
class="max-w-full h-auto"
object-fit
Controla como a imagem preenche o container
class="object-cover" ou "object-contain"
aspect-ratio
Mantem proporcao consistente
class="aspect-video" (16:9) ou "aspect-square"
👁️ object-fit Comparacao
contain - mostra tudo
cover - preenche tudo
fill - distorce
🎯 Vocabulario para Prompts
Use: imagens responsivas com max-w-full,
object-cover para preencher container,
aspect-ratio 16:9 para videos,
lazy loading em imagens.
👆 Touch Targets
Em mobile, dedos sao menos precisos que cursores. Elementos interativos precisam ter tamanho minimo para toque confortavel.
📏 Tamanhos Minimos Recomendados
Apple (iOS)
Minimo: 44x44 pontos
Google (Material)
Minimo: 48x48 dp
WCAG 2.2
Minimo: 24x24 CSS pixels
Recomendacao Pratica
Use: 44-48px de altura
👆 Comparacao de Touch Targets
24px - muito pequeno
40px - minimo
48px+ - ideal
💡 Outras Consideracoes Mobile
- • Espaco entre elementos tocaveis: minimo 8px
- • Inputs com altura minima de 44px
- • Evitar hover-only interactions em mobile
🎯 Vocabulario para Prompts
Use: botoes com altura minima 44-48px,
touch targets adequados para mobile,
espaco entre elementos tocaveis,
inputs otimizados para touch.
📝 Resumo do Modulo
Proximo Modulo:
1.8 - Anatomia de uma Pagina Web: As secoes fundamentais