Capítulo 291 de 456
Pages Router suporta várias formas de estilizar: Tailwind CSS, CSS Modules, Global CSS e stylesheets externos, cada uma com regra própria de importação e ordenação.
tailwindcss + @tailwindcss/postcss, registrar plugin em postcss.config.mjs, @import 'tailwindcss' no CSS global, importar esse CSS em pages/_app.js..module.css gera classes com escopo local (sem colisão de nomes); importado como objeto (styles.blog).pages/_app.js (não em outro lugar) pra aplicar a toda a aplicação.node_modules pode ser importado em qualquer lugar; globais (bootstrap, nprogress) vão em _app.js, CSS de componente vai junto do componente..blog {
padding: 24px;
}
import styles from './blog.module.css'
export default function Page() {
return <main className={styles.blog}></main>
}
| Recurso | Onde importar |
|---|---|
| Tailwind | CSS global, importado em _app.js |
| CSS Modules | Direto no componente (.module.css) |
| Global CSS | Só em pages/_app.js |
CSS de node_modules (global) | pages/_app.js |
CSS de node_modules (componente) | No próprio arquivo do componente |
_app.js: gera erro/conflito; Next.js exige que estilos globais só entrem por ali.imports no código, sempre validar com next build, pois dev e produção podem ordenar diferente.sort-imports do ESLint quebram a ordenação intencional do CSS.pages/_app.js.next build, não confiar só no next dev.