Paloma Costa
Paloma Costa01/02/2025 15:34
Compartilhe

📌 Distribuição ideal das regras CSS por arquivo

  • #HTML
  • #CSS

Estou desenvolvendo meu site de portfólio. Linha vai, linha vem; organização e estruturação pra lå e pra cå; leituras e pesquisas de boas pråticas constantemente. Eu me perguntei: por que não falar da dificuldade que é, para um dev iniciante, organizar as pastas e arquivos de forma eficaz e dentro dos parùmetros das boas pråticas?

EntĂŁo pensei: "Ok Tayne, vocĂȘ precisa falar sobre isso!". E agora estou aqui escrevendo isso!

Bora lĂĄ, a primeira coisa que vou pontuar sobre isso, senĂŁo a mais importante, Ă©: Tenha em mente a importĂąncia de organizar seus arquivos e pastas. Independentemente se vocĂȘ quer trabalhar sozinho (freelancer), ser frontend, backend ou fullstack, a organização do seu projeto reflete como vocĂȘ enxerga e organiza sua prĂłpria vida. Se sua mente Ă© desorganizada, sua vida acaba sendo desorganizada. Consequentemente, seu cĂłdigo e seus projetos tambĂ©m serĂŁo desorganizados. Provavelmente, se vocĂȘ nĂŁo se atentar a isso agora, quando precisar fazer algo mais complexo, vocĂȘ mesmo vai se perder em algo que criou.

Vou usar essa estrutura como exemplo:

Projeto                  
├─ src                   
│  ├─ fontes             
│  │  ├─ SFbold.ttf      
│  │  ├─ SFmedium.ttf    
│  │  └─ SFregular.ttf   
│  ├─ medias             
│  │  ├─ icons           
│  │  ├─ images          
│  │  └─ logo            
│  ├─ pages              
│  └─ styles             
│     â”œâ”€ animations.css  
│     â”œâ”€ base.css        
│     â”œâ”€ components.css  
│     â”œâ”€ layout.css      
│     â””─ reset.css       
├─ index.html            
└─ script.js             

Temos cinco arquivos CSS na estrutura deste projeto: animations.css, base.css, components.css, layout.css e reset.css. Sabemos que, independentemente do arquivo em que decidirmos colocar o estilo, ele serĂĄ aplicado. No entanto, se vocĂȘ criar um Ășnico CSS para estilizar toda a sua pĂĄgina, alĂ©m de grande, ficarĂĄ confuso. Separar e hierarquizar os estilos faz vocĂȘ ganhar tempo ao decidir fazer uma mudança posterior, e vocĂȘ nĂŁo vai precisar ficar rolando uma infinita linha de cĂłdigo para fazer algum ajuste.

‌Vamos Ă s distribuiçÔes:

1ïžâƒŁ Reset global (reset.css)

  • Define estilos base para remover estilos padrĂŁo dos navegadores.
  • Exemplo: margin: 0; padding: 0; box-sizing: border-box;

2ïžâƒŁ Estilos globais (base.css)

  • Define estilos bĂĄsicos aplicĂĄveis ao site inteiro.
  • O que colocar?
  • Fonte padrĂŁo (font-family)
  • Cores globais
  • Configuração de body, html
  • Scroll behavior (scroll-behavior: smooth;)

Exemplo:

html, body {
  font-family: "SFregular", sans-serif;
  background-color: #f8f8f8;
  color: #404247;
  scroll-behavior: smooth;
}

3ïžâƒŁ Layout principal (layout.css)

  • Controla estrutura e posicionamento dos elementos principais.
  • O que colocar?
  • .interface (configuração da pĂĄgina)
  • <header> e <main> (estrutura principal)
  • <section> (seçÔes da pĂĄgina)

Exemplo:

.interface {
  height: 100vh;
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  scroll-behavior: smooth;
}


main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

4ïžâƒŁ Componentes (components.css)

  • Estilos especĂ­ficos de elementos reutilizĂĄveis.
  • O que colocar?
  • .nav-fixed (menu fixo)
  • .language-button button (botĂ”es de linguagem)
  • Outros elementos interativos

Exemplo:

.nav-fixed {
  position: fixed;
  top: 0;
  width: 100%;
  background: none;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  padding: 0;
}


.language-button button {
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  margin-right: 10px;
  color: #404247;
}

5ïžâƒŁ AnimaçÔes (animations.css)

  • O que colocar?
  • TransiçÔes (hover, active)
  • Efeitos de entrada (fade-in, slide)
  • AnimaçÔes CSS (@keyframes)

Exemplo:

@keyframes fadeIn {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}


.section-title {
  animation: fadeIn 1s ease-in-out;
}

📂 Resumo: onde colocar cada configuração:

imageđŸ”„ BenefĂ­cios dessa organização

✅ Facilidade de manutenção (cada CSS tem sua função bem definida).

✅ Escalabilidade (se precisar adicionar algo, já sabe onde colocar).

✅ Melhor performance (navegadores carregam CSS de forma eficiente).

Compartilhe
ComentĂĄrios (1)
William Silva
William Silva - 03/02/2025 06:29

👏👏👏