Render elements consistently. Style with best practices.
Bower
bower install --save sanitize-css
NPM
npm install sanitize.css
Sass
@import 'vendors/sanitize.scss';
CSS
@import url(vendors/sanitize.css);
- CSS inheritance is universal so that styles are easier to control (code).
- The box model is more intuitive with border-box (reference) (reference) (code).
- Smaller font-sizes display consistently across browsers (reference) (code).
- Monospace fonts render consistently (reference) (code).
- Border styles work as expected (reference) (code).
- Text selections containing a drop shadow remain legible (reference) (code).
- Content may be hidden from the screen but not screenreaders (reference) (reference) (code).
Sanitize.css styles browsers to render elements more consistently with developer expectations and preferences. Normalize.css styles browsers to render elements more consistently with each other. Reset.css unstyles every element. Each one has its own advantages.
In Sanitize.css, CSS inheritance is assigned universally so that styles cascade naturally and consistently. Wherever possible, the box model operates more intuitively. Every normalization and opinionated default is carefully documented, and most are configurable from Sass.
To give you even more control, sanitize.scss allows you to define your own defaults for box-sizing, font family, text rendering, selection, etc. - all without over-declaring them later.
// overwrite defaults in sanitize.scss
$root-font-family: "Open Sans", sans-serif;
$root-text-rendering: optimizeSpeed;
import 'vendors/sanitize.scss';
- $root-box-sizing: the default box-sizing is
border-box
. - $root-cursor: the default cursor is
default
. - $root-font-family: the default font family is
sans-serif
. - $root-font-size: the default font size
100%
. - $root-line-height: the default line height is
1.5
. - $root-text-rendering: the default text-rendering is
optimizeLegibility
. - $html-background-color: the default background color is
#FFFFFF
. - $html-color: the default text color is
#000000
. - $anchor-text-decoration: the default anchor text decoration is
none
. - $form-element-background-color: the default form background color is
transparent
. - $media-element-vertical-align: the default vertical alignment for media elements is
middle
. - $monospace-font-family: the default font for code elements is
monospace
. - $nav-list-style: the default list style for navigation lists is
none
. - $selection-background-color: the default selection background color is
#B3D4FC
. - $selection-text-shadow: the default selection shadow is
none
. - $small-font-size: the default font size for small elements is
75%
. - $table-border-collapse: the default border collapse for tables is
collapse
. - $table-border-spacing: the default border spacing for tables is
0
. - $textarea-resize: the default resize for textarea’s is
vertical
.
At present, we support the current and previous major releases of popular web browsers. When a new version is released, we begin supporting that version and stop supporting the third most recent version. Many older browsers happen to be remain supported using the same CSS without additional needs.
Currently tested and supported browsers include Android 4.3-4.4+, Chrome 39-45+, Edge 12+, Firefox 34-40+, Internet Explorer 9-11, iOS 7-8+, Safari 7-9+, Windows Phone 8.1+.
sanitize.css is dedicated to the public domain.