Styling a ScandiPWA application is a process of building layer(s) of themes on top of the core application (core theme). Themes can be built from scratch, or installed from the official marketplace:
You can install a theme either from the ScandiPWA Marketplace via NPM or from a zip file.
How to install a theme from Marketplace?
How to install a theme from ZIP?
Each new ScandiPWA application is a theme by default.
Changing the application’s appearance or customizing existing components involves primarily the file overriding mechanism.
ScandiPWA uses the Block-Element-Modifier (BEM) pattern to style components for more maintainable and scalable CSS. This provides a clear structure for organizing styles.
Video: How to style the application?
This process is known as theming. To streamline it, the following system is proposed:
<aside> 👉 The theming process happens in phases:
The base template is an atomic UI element design implementation. By atomic UI element, we mean inseparable elements.
1st phase
How to work with and implement fonts?
2nd phase
How to style typography elements?
3rd phase
How to style text and select input?
How to style radio and checkbox input?
Create a checkbox field (Or other types of fields)
Simple molecules
How to theme an address preview?
Compound molecules
How to theme a cart item list?
Theming the rest of the application is relatively straightforward. We are no longer blocked by anything, thus we immediately theme all the following:
Organisms
How to theme category organisms?
How to theme checkout organisms?
How to theme account organisms?
Common elements
The page layout is made out of organisms created above, it is the final step for each page theming and in the scope of this task element placement, gaps, and the layout should be implemented, additionally, all issues and not styled default elements should be adjusted:
How to theme the category page layout?
How to theme the product page layout?
How to theme the cart page layout?
How to theme the checkout layout?
How to theme the compare page layout?
How to theme an authorization and registration page layout?