Current section

Files

Jump to
ex_admin web static css active_admin mixins _reset.scss
Raw

web/static/css/active_admin/mixins/_reset.scss

// FROM The Compass Framework (compass-style.org)
//
// Copyright (c) 2009 Christopher M. Eppstein
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software. No attribution is required by
// products that make use of this software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// Except as contained in this notice, the name(s) of the above copyright holders
// shall not be used in advertising or otherwise to promote the sale, use or other
// dealings in this Software without prior written authorization.
//
// Contributors to this project agree to grant all rights to the copyright holder
// of the primary product. Attribution is maintained in the source control history
// of the product.
//
// 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 {
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
@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; } } }