Pular para conteúdo

Aula 05 🎨

Estilização: CSS Modules e Styled Components


O que vamos aprender hoje? 📚

  1. Limitações do CSS Global
  2. CSS Modules: Segurança e Escopo
  3. Styled Components: CSS-in-JS
  4. Estilos Dinâmicos e Temas

1. O Fim da Cascata Caótica 🌊


O Problema do CSS Global 🤔

  • Nomes de classes iguais em arquivos diferentes.
  • Um estilo apaga o outro.
  • Dificuldade de manutenção em projetos grandes.

2. CSS Modules 📦


Como funciona? ⚙️

  • O Vite renomeia as classes no build.
  • .botao vira .botao_xyz123
  • Conflito ZERO!

Código Prático 💻

import styles from './App.module.css';

<button className={styles.btn}>Botão</button>

3. Styled Components 💅


O que é CSS-in-JS? 🤔

  • Escrever CSS dentro do JavaScript.
  • Usar variáveis JS para mudar o estilo.
  • Componentes estilizados e prontos.

Exemplo 💻

const Titulo = styled.h1`
  color: ${props => props.cor || 'black'};
`;

4. Dinamismo Total 🌈


Estilo baseado em Props 🎁

  • Se o botão é do tipo perigo, fica vermelho.
  • Se é sucesso, fica verde.
  • Tudo controlado pelo React!

🚀 Desafio da Aula

  • Criar um botão com Styled Components.
  • Ele deve aceitar uma prop variant ('outline' ou 'filled').
  • Mudar o estilo visual conforme a variante.

Fim da Aula 05 🎓

Próxima Aula: Formulários!