Craft uses Sass , the most powerful CSS preprocessor for handling the
theme css efficiently. Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.
Components
Components folder in /src/sass/components/ contains Sass code that customizes the core Bootstrap components
to match the Craft's own design system
and custom components. Both Craft and
Bootstrap components are customized in /src/sass/_variables.scss.
Bootstrap Variables
In /src/sass/components/_variables.scss file, Craft deeply customizes the standard Bootstrap components by
following the best practices explained in the official documentation.
Custom variables that used to customize Bootstrap components are marked with Custom variable comment in _variables.scss file.
Override Variables
If you like to change the Bootstrap theme colors, border radiuses, font family and other variables, we suggest using _variables.custom.scss file so you keep your
own changes separated from future updates to avoid conflicts. All variables to override in this file should be set without the !default attribute to prioritize your code change.
Theme Feel
Craft comes with an alternative cool theme mode that can be checked through
Layout Builder.
To use the cool theme feel please follow the below steps:
Open src/_init.scss to change the components and layouts variables imports.
Replace components/variables.custom import with components/variables.cool.custom.
Replace layout/variables.custom import with layout/variables.cool.custom.
Layout
Layout and comrelated SASS code is located in /src/sass/layout/ folder. This folder contains the layout's markup and SASS variables files as explained in the below table:
File/Folder
Description
_variables.scss
Variables used by layout partials. You can easily change Aside width, header height and other common properties.
_layout.scss
Defines main layout and its dependencies.
Compilation
Craft compiles layout, components(including the Bootstrap & custom components) into the main bundle: dist/assets/css/style.bundle.css.
The custom SASS files are compiled separately into CSS folder: dist/assets/css/custom
All 3rd-party plugins css files are bundled into the plugins bundle CSS file and globally included in all pages. dist/assets/plugins/global/plugins.bundle.css.