
Criar uma boa estrutura para nossos arquivos CSS↳CSS31 conteúdosArquitetura CSS: CSS FuncionalDev (Back & Front) · set 2019Entendendo posicionamento com CSS de uma vez por todasDev (Back & Front) · jul 2025Sites que combinam estética e usabilidade: reflexos da evolução do CSSDev (Back & Front) · fev 2025Ver tudo em Dev (Back & Front) → não é tão simples quanto parece, geralmente vamos encontrar algumas dificuldades ao decorrer do caminho, nos forçando à partir para práticas (não muito aceitas), como por exemplo: O uso do famoso !important.
E os problemas não param por aí, cada vez será mais dificil criar seletores com maior especifidade para sobreescrever os outros seletores ou alguma regra.
Nesse post vou falar um pouco sobre o ITCSS (Inverted Triangle CSS).
O que é ITCSS?
O ITCSS é uma estrutura para que tenhamos uma arquitetura CSS↳Leia tambémArquitetura CSS: CSS FuncionalDev (Back & Front) · set 2019 mais organizada. Basicamente a ideia é visualizar o CSS em diferentes camadas separadas, que, ao serem montadas formam um triângulo de cabeça para baixo.

Repare que as camadas estão organizadas das mais genéricas para as mais específicas.
Settings
Aqui é onde vamos colocar as configurações básicas do projeto. Normalmente é onde serão definidas as variáveis globais do nosso CSS, seja para definir cores, espaçamentos ou qualquer outra necessidade que precise de uma variável.
$primary-color: #0099ff
$border-default: 1px solid #dcdcdc
$gap-container: 1remTools
Aqui é onde vamos colocar e criar nossos mixins ou funções para a construção dos nossos estilos e layouts.
@mixin full()
height: 100vh
width: 100vwGeneric
Aqui finalmente começamos aplicar códigos CSS. Essa é a primeira camada, nessa camada informamos regras genéricas e com a menor especifidade possível. Em geral, é onde vamos aplicar os nossos reset’s.
*
box-sizing: border-boxElements
Nessa camada vamos definir seletores básicos, é a última camada que irá usar seletores por tags. Atenção, nessa camada, nada de usar seletores por id ou classes, apenas seletores por tag (elementos).
li
list-style: noneObjects
Seguindo os princípios de OOCSS(CSS Orientado a Objetos), aqui é onde vamos começar a criar nossos pequenos objetos. Um detalhe importante é que nessa camada só é permitido a utilização de seletores por classes.
.container
margin: 0 auto
max-width: 480pxComponents
Aqui já começamos a criar nossos componentes (como o próprio nome já diz) de maneira mais específica. Aqui ainda é restrito para apenas o uso de classes.
.btn-success
backgroud: #00cc99
border-radius: 4px
color: #fdfdfdTrumps
Essa camada é responsável pela maior especificidade das demais, permitindo o uso de !important. Normalmente a ideia para utilização dos trumps é que eles sejam usados para estilos onde independe de tudo o mesmo seja aplicado e não sobreescrito.
.hidden
display: none !importantPara saber mais
O ITCSS pode ser usado em conjunto com metodologias e outros padrões, por exemplo: BEM, SMACSS, DRY, OOCSS, etc…
Caso você precise aplicar alguma validação de cores para os elementos ou componentes, você pode estar criando uma nova camada entre components e trumps chamada theme:

Conclusão
Nesse post vimos uma maneira de organizar a estrutura dos nossos arquivos e pastas CSS, dessa maneira, conseguimos criar uma organização maior dos mesmos.
E ae, você já conhecia o ITCSS? Não deixe de comentar, caso tenha gostado do post e gostaria de ficar por dentro das novidades, não deixe de assinar nossa newsletter.
Abraços, até a próxima.








