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:
đ„ 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).