O Futuro do CSS
Novos recursos de CSS, como funções nativas, anchor positioning, nesting e layers, estão provocando tanto entusiasmo quanto desconforto entre desenvolvedores web. Muitos comemoram a possibilidade de substituir JavaScript e frameworks pesados por um CSS “vanilla” mais poderoso, mas outros temem que a linguagem esteja se tornando uma espécie de pseudo-linguagem de programação excessivamente complicada, mais difícil de entender, testar e manter interoperável entre navegadores — especialmente com a influência desproporcional do Chrome. Por trás dos detalhes técnicos, há uma tensão mais ampla sobre se a stack da web deve continuar evoluindo em cima do que já existe ou ser substituída por uma alternativa mais simples e coerente.
Entusiasmo pelo CSS moderno
- Muitos comentaristas dizem que o CSS se tornou um prazer de usar em comparação com alguns anos atrás.
- Novos recursos (grid, flexbox, nesting,
@layer,:has(), variáveis,light-dark(),clamp(), etc.) tornam o layout e o tema muito mais fáceis e reduzem a necessidade de JS. - Alguns descrevem ter substituído uma quantidade significativa de JS por CSS, e construir sites rápidos e responsivos com uma estrutura HTML cuidadosa e ferramentas modernas de layout.
Preocupações com complexidade e excesso de recursos
- Outros acham que o CSS está ficando desnecessariamente complexo e “parecido com uma linguagem de programação”, especialmente com funções e uma lógica condicional crescente.
- A compatibilidade retroativa significa que a complexidade só pode aumentar; alguns gostariam que o CSS pudesse ser reduzido a um subconjunto mais simples de “partes boas”.
- O cascade e a herança ainda são vistos como pontos problemáticos centrais; alguns preferem abordagens com classes utilitárias ou até tabelas HTML em vez de sistemas modernos de layout.
Funções, completude de Turing e “CSS como linguagem”
- Há debate sobre se funções pertencem ao CSS:
- Pró: ideias semelhantes já existem no Sass; funções podem reduzir duplicação e complexidade, especialmente para padrões como gradientes.
- Contra: risco de transformar o CSS em um ambiente de programação desajeitado; alguns se preocupam com segurança, manutenibilidade e depuração quando ele estiver claramente completo em Turing.
- Vários observam que o CSS já é efetivamente uma linguagem de programação presa em uma sintaxe antiga de stylesheet, sem ferramentas fortes como verificação estática de tipos.
CSS vs responsabilidades do JavaScript
- Alguns argumentam que a integração com JS deve ser preferida para lógica complexa; outros respondem que a avaliação do CSS é mais leve e tem menor latência do que a do JS.
- Há menção à CSS Painting API e a padrões de “reatividade” baseados em JS, mas também frustração de que a plataforma não forneceu soluções nativas ergonômicas para UIs com estado.
Interop, política dos navegadores e domínio do Chrome
- Discussão sobre o programa Interop: a intenção é alinhar os navegadores, mas muitos dos recursos mostrados atualmente são exclusivos do Chrome ou priorizados pelo Chrome.
- Visões mistas sobre se o Chrome está “passando o trator” sobre os padrões ou realmente impulsionando a plataforma para a frente.
Primitivos ausentes ou desejados
- Desejos comuns: melhor impressão / mídia paginada, tooltips nativos de alta qualidade, selects personalizáveis e seletores de data/hora, CSS com escopo, forma mais fácil de moldar cantos/bordas, “cantos relativos” automáticos.
- Alguns veem isso como mais valioso do que novas capacidades decorativas como estilos avançados de canto.
IA e fluxo de trabalho do desenvolvedor
- Várias pessoas agora recorrem a LLMs para escrever ou traduzir CSS moderno que não entendem completamente, tratando o CSS como algo que está tudo bem desde que raramente precisem olhar diretamente para ele.
- Outros alertam contra “vibecoding” de frontends, argumentando que a interface voltada ao usuário ainda merece um design cuidadoso e guiado por humanos.