Reset compilation = modern reset + Meyer’s reset + normalizer
Demo: https://frontend-layers.github.io/scss-reset/test/index.html
To instantly fix some persistent CSS issues and add missing parts for popular CSS resets. It is also compatible with other HTML/CSS frameworks like Twitter Bootstrap, Tailwind CSS, etc. You can extend reset styles by a mixin collection and easily improve it.
npm i scss-reset --save-dev
Please include at the top of the main.scss:
@use 'scss-reset';
| Title | Usage | Description |
|---|---|---|
| total-reset.scss | @use ‘scss-reset/total’; | Provides a deep CSS reset, ideal for web components and plugins to ensure consistent styling across environments. |
| light-reset.scss | @use ‘scss-reset/light’; | Offers a lightweight reset with maximum compatibility for use alongside popular CSS frameworks. |
by yarn
yarn add scss-reset --dev
by pnpm
pnpm i scss-reset --dev
@import 'scss-reset';
or
@use 'scss-reset/reset';
or depending on your workspace configuration, this will work too:
@use '../node_modules/scss-reset/src/scss/_reset.scss';
or:
@use '../node_modules/scss-reset/_reset.scss';
or by the (mostly) deprecated way:
or
@import 'scss-reset/reset';
Optimized and compressed CSS version for _reset.scss
<link rel="stylesheet" href="https://unpkg.com/scss-reset/reset.css">
Transferred size: 3.62 kB
⚠️ _variables.scss and _typography.scss are optional.
You can copy them from to development folder for additional custom modifications
'node_modules/scss-reset/src/scss/_variables.scss';
'node_modules/scss-reset/src/scss/_typography.scss';
reset-shopify-down.css file from the /res npm folder to the /assets theme folder.reset-shopify-down.css file in layout/theme.liquid/ after base.css.reset-shopify-down.css
total-reset.scss Designed for Web Components, modern JavaScript applications, or browser extensions.
Ideal when you need to ❗deep reset all properties❗ of Shadow DOM elements without resetting document styles.
@use 'scss-reset/total';
light-reset.scss – Ideal for use with popular CSS frameworks and offering maximum compatibility
@use 'scss-reset/light';
Please include into necessary module:
@use 'scss-reset/reset-mixins' as *;
| Mixins | Include | Description |
|---|---|---|
| disableAnimation | @include disableAnimation; | Disable CSS animation |
| acDisableAnimation | @include acDisableAnimation; | Disable CSS animation depends of OS configuration |
| acModeBW | @include acModeBW; | Grayscale Mode |
| acModeContrast | @include acModeContrast; | Contrast Mode with Inverted colors |
| meterReset | @include meterReset; | Styles reset for <meter> |
| progressReset | @include progressReset; | Styles reset for <progress> |
| inputColorReset | @include inputColorReset; | Rest for input type:color |
| offx | @include offx; | Prevent horizontal overflow issues for elements |
| offxAll | @include offxAll; | offx for whole document |
This mixin adds the following snippet:
html, body {
overflow-x: hidden
}
Please be careful. You’ll get scroll fix for whole page, but:
position: sticky; doesn’t work because an ancestor element (html, body) has overflow property set.Please use @include offx; for selected block elements instead of to avoid CSS ‘sticky’ and UX issues.
For example:
.page-content {
@include offx;
}
For issues, bugs or improvements please open an issue