https://github.com/sha-red/compass-mixins/tree/master/lib
extended with more sass frameworks and as django app.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
4.1 KiB
135 lines
4.1 KiB
// Based on [Eric Meyer's reset](http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/) |
|
// Global reset rules. |
|
// For more specific resets, use the reset mixins provided below |
|
// |
|
// *Please Note*: tables still need `cellspacing="0"` in the markup. |
|
@mixin 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, font, img, ins, kbd, q, s, samp, |
|
small, strike, strong, sub, sup, tt, var, |
|
dl, dt, dd, ol, ul, li, |
|
fieldset, form, label, legend, |
|
table, caption, tbody, tfoot, thead, tr, th, td { |
|
@include reset-box-model; |
|
@include reset-font; } |
|
body { |
|
@include reset-body; } |
|
ol, ul { |
|
@include reset-list-style; } |
|
table { |
|
@include reset-table; } |
|
caption, th, td { |
|
@include reset-table-cell; } |
|
q, blockquote { |
|
@include reset-quotation; } |
|
a img { |
|
@include reset-image-anchor-border; } } |
|
|
|
// 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. |
|
// |
|
// *Please Note*: tables still need `cellspacing="0"` in the markup. |
|
@mixin nested-reset { |
|
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, |
|
pre, a, abbr, acronym, address, code, del, dfn, em, img, |
|
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr { |
|
@include reset-box-model; |
|
@include reset-font; } |
|
table { |
|
@include reset-table; } |
|
caption, th, td { |
|
@include reset-table-cell; } |
|
q, blockquote { |
|
@include reset-quotation; } |
|
a img { |
|
@include reset-image-anchor-border; } } |
|
|
|
// Reset the box model measurements. |
|
@mixin reset-box-model { |
|
margin: 0; |
|
padding: 0; |
|
border: 0; |
|
outline: 0; } |
|
|
|
// Reset the font and vertical alignment. |
|
@mixin reset-font { |
|
font: { |
|
weight: inherit; |
|
style: inherit; |
|
size: 100%; |
|
family: inherit; }; |
|
vertical-align: baseline; } |
|
|
|
// Resets the outline when focus. |
|
// For accessibility you need to apply some styling in its place. |
|
@mixin reset-focus { |
|
outline: 0; } |
|
|
|
// Reset a body element. |
|
@mixin reset-body { |
|
line-height: 1; |
|
color: black; |
|
background: white; } |
|
|
|
// Reset the list style of an element. |
|
@mixin reset-list-style { |
|
list-style: none; } |
|
|
|
// Reset a table |
|
@mixin reset-table { |
|
border-collapse: separate; |
|
border-spacing: 0; |
|
vertical-align: middle; } |
|
|
|
// Reset a table cell (`th`, `td`) |
|
@mixin reset-table-cell { |
|
text-align: left; |
|
font-weight: normal; |
|
vertical-align: middle; } |
|
|
|
// Reset a quotation (`q`, `blockquote`) |
|
@mixin reset-quotation { |
|
quotes: "" ""; |
|
&:before, &:after { |
|
content: ""; } } |
|
|
|
// Resets the border. |
|
@mixin reset-image-anchor-border { |
|
border: none; } |
|
|
|
// Unrecognized elements are displayed inline. |
|
// This reset provides a basic reset for html5 elements |
|
// so they are rendered correctly in browsers that don't recognize them |
|
// and reset in browsers that have default styles for them. |
|
@mixin reset-html5 { |
|
#{elements-of-type(html5-block)} { |
|
@include reset-box-model; |
|
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") |
|
@mixin 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; } } }
|
|
|