143 lines
4.0 KiB
Sass
Raw Normal View History

2020-05-19 11:43:42 +03:00
// Based on [Eric Meyer's reset 2.0](http://meyerweb.com/eric/tools/css/reset/index.html)
// Global reset rules.
// For more specific resets, use the reset mixins provided below
=global-reset
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
+reset-box-model
+reset-font
// Unlike Eric's original reset, we reset the html element to be compatible
// with the vertical rhythm mixins.
html
+reset-body
ol, ul
+reset-list-style
table
+reset-table
caption, th, td
+reset-table-cell
q, blockquote
+reset-quotation
a img
+reset-image-anchor-border
+reset-html5
// Reset all elements within some selector scope. To reset the selector itself,
// mixin the appropriate reset mixin for that element type as well. This could be
// useful if you want to style a part of your page in a dramatically different way.
=nested-reset
div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
+reset-box-model
+reset-font
table
+reset-table
caption, th, td
+reset-table-cell
q, blockquote
+reset-quotation
a img
+reset-image-anchor-border
// Reset the box model measurements.
=reset-box-model
margin: 0
padding: 0
border: 0
// Reset the font and vertical alignment.
=reset-font
font: inherit
font-size: 100%
vertical-align: baseline
// Resets the outline when focus.
// For accessibility you need to apply some styling in its place.
=reset-focus
outline: 0
// Reset a body element.
=reset-body
line-height: 1
// Reset the list style of an element.
=reset-list-style
list-style: none
// Reset a table
=reset-table
border-collapse: collapse
border-spacing: 0
// Reset a table cell (`th`, `td`)
=reset-table-cell
text-align: left
font-weight: normal
vertical-align: middle
// Reset a quotation (`q`, `blockquote`)
=reset-quotation
quotes: none
&:before, &:after
content: ""
content: none
// Resets the border.
=reset-image-anchor-border
border: none
// Unrecognized elements are displayed inline.
// This reset provides a basic reset for block html5 elements
// so they are rendered correctly in browsers that don't recognize them
// and reset in browsers that have default styles for them.
=reset-html5
#{elements-of-type(html5-block)}
display: block
// Resets the display of inline and block elements to their default display
// according to their tag type. Elements that have a default display that varies across
// versions of html or browser are not handled here, but this covers the 90% use case.
// Usage Example:
//
// // Turn off the display for both of these classes
// .unregistered-only, .registered-only
// display: none
// // Now turn only one of them back on depending on some other context.
// body.registered
// +reset-display(".registered-only")
// body.unregistered
// +reset-display(".unregistered-only")
=reset-display($selector: "", $important: false)
#{append-selector(elements-of-type("inline"), $selector)}
@if $important
display: inline !important
@else
display: inline
#{append-selector(elements-of-type("block"), $selector)}
@if $important
display: block !important
@else
display: block