banner post

SMACSS

07 de jun. de 2022

Juan Lemos

2 minutos

O que é o SMACSS?

Scalable and Modular Architecture for CSS, ou SMACSS para os mais íntimos é uma arquitetura CSS, ou seja, ela serve para estruturar e organizar seu código.

Regras

As regras do smacss irão dividir seus estilos em 5 tipos, que são:

1. Base


É onde você vai utilizar seletores de atributos, de classes e outros seletores mais genéricos para definir estilos globais para sua aplicação. Ex: reset.css.

2. Layout


São as áreas mais abrangentes da sua página, como por exemplo o header, aside e footer.
Nas suas regras de layout você deve utilizar o prefixo "layout" ou o namespace "l".
Ex: l-header{}, layout-header{}.

2. Modules.


Também conhecidos como components, é a categoria em que a maior parte do seu código vai se encaixar, por exemplo, um card ou um botão fará parte dessa regra.
Nos seus modules você deve utilizar o prefixo "module" ou o namespace "c", ou até mesmo não utilizar nada.
Ex: module-card{}, c-card{}, card{}.

4. State


Os states têm como regra a utilização do prefixo “is” seguido do estado do componente ou layout. Ex: is-active{}.
Caso seja um state exclusivo de um único componente ou layout, pode ser utilizado do seguinte modo: is-menu-open{}.

5. Theme


As regras de tema servem para sobrescrever regras base da página, como por exemplo temas dark e light. Seguindo a regra de cascata do CSS os temas devem ser importados depois das outras regras de CSS, para assim substituir os estilos.

Conclusão

Ao adicionar o SMACSS nos seu projetos você vai elevar o nível do seu código, deixando-o muito mais profissional. Busque separar seu código em pastas correspondentes a cada regra, uma para layout, outra para modules(components), etc.

Quer se aprofundar no tema? Vou deixar algumas das referências que eu tive para escrever este post:

SMACSS: A Arquitetura CSS Mais Conhecida, Site oficial do SMACSS

NextProgress

Próximo post