CSS Moderno. AS DIVERSAS FORMAS DO · 13/06/2019  · SMACSS OOCSS BEM Pré-processadores: SASS...

Preview:

Citation preview

AS DIVERSAS FORMAS DO

CSS Moderno.Uriell Viana

Antes do CSS:

Só que, alguns dosproblemas da época, acontecem até hoje.

3 Problemaspersistentes do CSS:

Namespace global•Arquivos muitograndes

Isolamento•

Mas como esses problemas foram resolvidos?

Metodologiascomumenteutilizadas:

SMACSSGuia & boas práticasEscalável & modular

OOCSSEstrutura !== aparênciaPrincípio de responsabilidade única

BEMEscopo controladoEstrutura simples e robusta

Veio a necessidade de fazer MORE with LESS

Pré-processamento de CSS:

SASS sass-lang.com

LESS lesscss.org

Stylus stylus-lang.com

Com isso veio o hype devariáveis, aninhamento,mixins e funções.

Mas nós acabamos duplicando código

Por exemplo...

HTML estruturado com o BEM:

CSS feito na sintaxe do SASS:

Resultado do SASS anterior:

Então, precisamos reduzir nossos estilos!

Pós-processamento de CSS:

PurgeCSSRemoção de código não utilizado.

StylelintAnálise estática de código.Indica potenciais problemas.

PostCSSUm mundo de transformações eplugins pra estender seu CSS.

Mas então...

Metodologias, pré & pós processadoresresolveram os 3 problemas, certo?

Sim, mas e na prática?

CSS no Vue:

CSS Inline no React:

Trazendo pro lado do React, o que é mais popular?

Exemplo do JSS:

Resultado gerado pelo CSS Modules:

github.com/stereobooster/css-in-js-101

CSS in JS:

O que o CSS Funcional resolve:

Agora abra sua mente, essa proposta é umaquebra de paradigmas.

A proposta do CSS Funcional:

Mas nenhuma é melhor que a outra.

E podem ser combinadas:

Concluindo, qual foi o ganho?

Atacamos 3 dos maioresproblemas em qualqueraplicação;

Conhecemos a maioriadas soluções relevantesno mercado pra CSS;

Descobrimos algunsprós, contras e pontos deatenção na hora deaplicar.

Links:Metodologias:

SMACSS

OOCSS

BEM

Pré-processadores:

SASS

LESS

Stylus

Pós-processadores:

PurgeCSS

Stylelint

PostCSS

Bibliotecas:

CSS Modules

CSS in JS 101

CSS Funcional

Obrigado!in.uriell.devgithub.uriell.devmodern-css.uriell.dev

Recommended