Este blog: construído sem nenhuma classe CSS
· Projeto
Este blog é, ele mesmo, o primeiro projeto documentado aqui. A stack é Next.js com App Router, TypeScript e nenhuma biblioteca de estilos — nem Tailwind, nem CSS Modules, nem styled-components.
A regra
A regra que guiou todo o layout foi simples de descrever e difícil de seguir até o fim: nenhum atributo class em lugar nenhum. Toda a folha de estilos seleciona elementos HTML diretamente — header, nav, article, dl — combinados com seletores estruturais (:nth-child, :is()) e atributos nativos (href, aria-current, open) que já fariam parte do HTML de qualquer forma.
Por que
Duas razões. A primeira é estética: em 2026 praticamente todo site pessoal parece o mesmo template de componentes. Um layout que nasce das restrições da semântica HTML pura tende a parecer diferente, porque força decisões de design incomuns. A segunda é técnica: escrever CSS sem classes obriga a pensar em documento, não em componente — o que combina bem com um blog cujo conteúdo é HTML escrito à mão.
O que isso significa na prática
- Tipografia
- Pilha de fontes monoespaçadas do sistema, sem carregar fontes externas — mantém o visual de terminal e evita depender de
next/font, que injeta uma classe nohtml. - Layout responsivo
- Feito inteiramente com
@media,clamp()e CSS Grid, direcionandobody > header,body > mainebody > footer. - Conteúdo
- Cada post é um arquivo
.tsxemcontent/posts/, com metadados exportados separadamente do corpo do texto.
O resultado não segue nenhum design system de 2026 — e essa é exatamente a ideia.