I am all about Sass. So organzing my CSS code has become a mission of mine :)
A POSSIBLE STRUCTURE
Structure is especially needed, when you are not the only one working on the design. So that everyone on the team can easily understand and contribute with ease. There are never too many files, as files get combined anyway.
Make your own life easier and for those you work with!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
sass/ | |– base/ | |– _reset.scss # Reset/normalize | |– _typography.scss # Typography rules | ... # etc… | |– components/ | |– _buttons.scss # Buttons | |– _carousel.scss # Carousel | |– _images.scss # Images | |– _dropdown.scss # Dropdown | |– _navigation.scss # Navigation | ... # etc… | |– utils/ | |– _variables.scss # Sass Variables | |– _functions.scss # Sass Functions | |– _mixins.scss # Sass Mixins | |– _utils.scss # Class & placeholders helpers | ... # etc… | |– layout/ | |– _grid.scss # Grid system | |– _header.scss # Header | |– _footer.scss # Footer | |– _sidebar.scss # Sidebar | |– _forms.scss # Forms | ... # etc… | |– sections/ | |– _home.scss # Home specific styles | |– _about_us.scss # About us specific styles | ... # etc… | |– themes/ | |– _front_base.scss # Parent theme | |– _front_child.scss # Child theme | |– _admin.scss # Admin theme | ... # etc… | |– vendors/ | |– _bootstrap.scss # Bootstrap | |– _bourbon.scss # Bourbon Mixins | ... # etc… | | `– app.scss # primary Sass file |
THE STRUCTURE EXPLAINED
- BASE holds files like resets, typography and foundation structures.
- COMPONENTS holds specific module definitions, like buttons, navigation etc.
- UTILS holds my own functions, mixins and configuration for the whole project.
- LAYOUT holds the main files defining the different layout areas / grid of the project.
- SECTIONS holds the definition of pages or sub sections defined.
- THEMES holds files for theme switches or front / backend layouts.
- VENDORS holds those files that are related to external includes.