Migrate existing code to repo
This commit is contained in:
parent
b6c6217bf6
commit
50503a421d
19 changed files with 1451 additions and 1 deletions
23
src/_accessibility.sass
Normal file
23
src/_accessibility.sass
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/**
|
||||
* 1. Remove the outline on focused elements that all major browers add.
|
||||
*
|
||||
* Ok, this is going to be *super* controversial but hear me out. Yes,
|
||||
* accessability on focusable elements is really important and needs to be
|
||||
* addressed in any design, but the default styling may not work for every
|
||||
* design. For instance, a site with lots of grays would make the default
|
||||
* focus outline difficult to see. Rather than try to guess what the best
|
||||
* focus indicator should be for every design I argue that this is the
|
||||
* responsibility of the designer to figure out. There is an argument to be
|
||||
* made for standard and expected behavior, but it is easy enough to add
|
||||
* a focus outline back in the application styling if that's what you want.
|
||||
*/
|
||||
:focus
|
||||
outline: none /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Remove the underline that Firefox adds to elements with a title.
|
||||
*
|
||||
* Again, this might be controversal but see the comments on :focus above.
|
||||
*/
|
||||
[title]
|
||||
text-decoration: none /* 1 */
|
||||
20
src/_blocks.sass
Normal file
20
src/_blocks.sass
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
/**
|
||||
* 1. Set all visible elements with default inline, inline-block and block to
|
||||
* display as blocks.
|
||||
*
|
||||
* This might be controversial, but my position is that inline vs block
|
||||
* display is a visual style and that block display is the most reasonable
|
||||
* default for consistent styling. Rather than maintaining a mental map of
|
||||
* which elements are _supposed_ to be inline vs block you can always rely
|
||||
* on the fact that *all* elements are block by default. Except checkboxes
|
||||
* and radios of course, because reasons.
|
||||
*/
|
||||
article, aside, div, footer, header, hgroup, main, menu, nav, noscript, section, /* structural elements */
|
||||
abbr, acronym, blockquote, h1, h2, h3, h4, h5, h6, p, q, /* phrasing elements */
|
||||
b, bdo, em, i, ins, hr, mark, pre, s, small, strike, strong, sub, sup, u, wbr, /* typographic elements */
|
||||
a, address, cite, code, dd, dfn, dl, dt, figcaption, figure, kbd, ol, ul, samp, time, var, /* data markup elements */
|
||||
rp, rt, ruby, /* language elements */
|
||||
details, meter, progress, summary, /* interactive elements */
|
||||
audio, canvas, embed, img, svg, video, /* embedded content */
|
||||
button, datalist, form, fieldset, input:not([type="checkbox"]):not([type="radio"]), keygen, label, output, select, textarea /* form elements */
|
||||
display: block /* 1 */
|
||||
14
src/_box-sizing.sass
Normal file
14
src/_box-sizing.sass
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* 1. Reset box-sizing on all elements to border-box.
|
||||
*
|
||||
* This uses Jon Neal's method of setting the default box-sizing on the root
|
||||
* html element and then having all other elements inherit box-sizing
|
||||
* (https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/).
|
||||
* This method seems to cause the least number of headaches and override
|
||||
* issues.
|
||||
*/
|
||||
html
|
||||
box-sizing: border-box /* 1 */
|
||||
|
||||
*, *::before, *::after
|
||||
box-sizing: inherit /* 1 */
|
||||
29
src/_embedded-content.sass
Normal file
29
src/_embedded-content.sass
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/**
|
||||
* 1. Remove border when inside `a` element in IE 9/10 (from normalize.css).
|
||||
*
|
||||
* Note: We don't use a parent `a` because it causes the selector to have
|
||||
* high specificity and makes it difficult to override. `img` shouldn't
|
||||
* have borders anyway, so no harm no foul.
|
||||
*/
|
||||
img
|
||||
border: none
|
||||
|
||||
/**
|
||||
* 1. Remove borders from iframes. This isn't 1995 any more.
|
||||
*/
|
||||
iframe
|
||||
border: none /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Prevent modern browsers from displaying `audio` without controls.
|
||||
* 2. Remove excess height in iOS 5 devices (from normalize.css).
|
||||
*/
|
||||
audio:not([controls])
|
||||
display: none /* 1 */
|
||||
height: 0 /* 2 */
|
||||
|
||||
/**
|
||||
* Correct overflow not hidden in IE 9/10/11 (from normalize.css).
|
||||
*/
|
||||
svg:not(:root)
|
||||
overflow: hidden
|
||||
159
src/_form-elements.sass
Normal file
159
src/_form-elements.sass
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
/**
|
||||
* 1. Fully reset fieldsets removing all default styling.
|
||||
*/
|
||||
fieldset
|
||||
margin: 0 /* 1 */
|
||||
padding: 0 /* 1 */
|
||||
border: none /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Fully reset lengends removing all default styling.
|
||||
* 2. On Android Chrome browser lengends don't expand to 100%, so we fix that.
|
||||
*/
|
||||
legend
|
||||
border: 0 /* 1 */
|
||||
padding: 0 /* 1 */
|
||||
width: 100% /* 2 */
|
||||
|
||||
/**
|
||||
* Known limitation: by default, Chrome and Safari on OS X allow very limited
|
||||
* styling of `select`, unless a `border` property is set.
|
||||
*/
|
||||
input:not([type="checkbox"]):not([type="radio"]),
|
||||
optgroup,
|
||||
select,
|
||||
textarea,
|
||||
button
|
||||
margin: 0
|
||||
padding: 0
|
||||
border: none
|
||||
background: none
|
||||
font: inherit
|
||||
color: inherit
|
||||
|
||||
/**
|
||||
* 1. Remove border-radius in Safari.
|
||||
* 2. Remove glossy background in Safari.
|
||||
*
|
||||
* Note that this also removes the dropdown arrow in Safari, which isn't
|
||||
* ideal but there is little we can do about it.
|
||||
*/
|
||||
select
|
||||
border-radius: 0 /* 1 */
|
||||
-webkit-appearance: none /* 2 */
|
||||
|
||||
/**
|
||||
* Remove default vertical scrollbar in IE 8/9/10/11 (from normalize.css).
|
||||
*/
|
||||
textarea
|
||||
overflow: auto
|
||||
|
||||
/**
|
||||
* 1. Address `overflow` set to `hidden` in IE 8/9/10/11 (from normalize.css).
|
||||
*/
|
||||
button
|
||||
overflow: visible /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Address inconsistent `text-transform` inheritance for `button` and
|
||||
* `select`. All other form control elements do not inherit `text-transform`
|
||||
* values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and
|
||||
* Opera. Correct `select` style inheritance in Firefox
|
||||
* (from normalize.css).
|
||||
*/
|
||||
button,
|
||||
select
|
||||
text-transform: none /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Remove inner padding and border in Firefox 4+ (from normalize.css).
|
||||
*/
|
||||
button,
|
||||
input
|
||||
&::-moz-focus-inner
|
||||
border: 0 /* 1 */
|
||||
padding: 0 /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||
* and `video` controls.
|
||||
* 2. Correct inability to style clickable `input` types in iOS.
|
||||
* 3. Improve usability and consistency of cursor style between image-type
|
||||
* `input` and others.
|
||||
*/
|
||||
button,
|
||||
html input[type="button"] /* 1 */,
|
||||
input[type="submit"],
|
||||
input[type="reset"]
|
||||
-webkit-appearance: button /* 2 */
|
||||
cursor: pointer /* 3 */
|
||||
text-align: left
|
||||
|
||||
/**
|
||||
* Re-set default cursor for disabled elements.
|
||||
*/
|
||||
button[disabled],
|
||||
html input[disabled]
|
||||
cursor: default
|
||||
|
||||
/**
|
||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||
* the UA stylesheet.
|
||||
*/
|
||||
input
|
||||
line-height: normal
|
||||
|
||||
/**
|
||||
* Checkboxes and radio inputs are not styleable in most browsers unfortunately,
|
||||
* so we have to treat them as a special case.
|
||||
*
|
||||
* 1. Address box sizing set to `content-box` in IE 8/9/10 (from normalize.css).
|
||||
* 2. Remove excess padding in IE 8/9/10 (from normalize.css).
|
||||
*/
|
||||
input[type="checkbox"],
|
||||
input[type="radio"]
|
||||
box-sizing: border-box /* 1 */
|
||||
padding: 0 /* 2 */
|
||||
|
||||
/**
|
||||
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
||||
* `font-size` values of the `input`, it causes the cursor style of the
|
||||
* decrement button to change from `default` to `text`.
|
||||
*/
|
||||
input[type="number"]
|
||||
&::-webkit-inner-spin-button,
|
||||
&::-webkit-outer-spin-button
|
||||
height: auto
|
||||
|
||||
/**
|
||||
* 1. Address `appearance` set to `searchfield` in Safari and Chrome which is
|
||||
* unstylable (from normalize.css).
|
||||
* 2. Remove inner padding and search cancel button in Safari and Chrome on
|
||||
* OS X. Safari (but not Chrome) clips the cancel button when the search
|
||||
* input has padding (and `textfield` appearance) (from normalize.css).
|
||||
*
|
||||
* Ideally we'd like to support the native cancel button, but unfortunately
|
||||
* safar
|
||||
*
|
||||
*/
|
||||
input[type="search"]
|
||||
-webkit-appearance: textfield /* 1 */
|
||||
|
||||
&::-webkit-search-cancel-button,
|
||||
&::-webkit-search-decoration
|
||||
-webkit-appearance: none /* 2 */
|
||||
|
||||
/**
|
||||
* 1. Update input placeholders to inherit color (IE, Chrome and Safari) and
|
||||
* opacity (Firefox).
|
||||
*
|
||||
* Note: On Firefox number inputs do not respect placeholder styling. This is
|
||||
* a known bug (https://bugzilla.mozilla.org/show_bug.cgi?id=1004130) with no
|
||||
* workaround :(.
|
||||
*/
|
||||
::-webkit-input-placeholder
|
||||
color: inherit /* 1 */
|
||||
::-moz-placeholder
|
||||
opacity: inherit /* 1 */
|
||||
:-ms-input-placeholder
|
||||
color: inherit /* 1 */
|
||||
8
src/_hidden.sass
Normal file
8
src/_hidden.sass
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* 1. Address `[hidden]` styling not present in IE 8/9/10 and hide the
|
||||
* `template` element in IE 8/9/10/11, Safari, and Firefox < 22
|
||||
* (from normalize.css).
|
||||
*/
|
||||
[hidden],
|
||||
template
|
||||
display: none /* 1 */
|
||||
12
src/_links.sass
Normal file
12
src/_links.sass
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* 1. Fully reset link styling.
|
||||
* 2. Remove gray background color from active links in IE 10
|
||||
* (from normalize.css).
|
||||
*/
|
||||
a
|
||||
color: inherit /* 1 */
|
||||
text-decoration: none /* 1 */
|
||||
background-color: transparent /* 2 */
|
||||
|
||||
&:link, &:active, &:visited
|
||||
color: inherit /* 1 */
|
||||
7
src/_lists.sass
Normal file
7
src/_lists.sass
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
ul, ol
|
||||
margin: 0
|
||||
padding: 0
|
||||
list-style-type: none
|
||||
|
||||
ol, ul
|
||||
padding: 0
|
||||
13
src/_responsive.sass
Normal file
13
src/_responsive.sass
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
html
|
||||
width: 100%
|
||||
overflow-x: hidden
|
||||
|
||||
input:not([type="checkbox"]):not([type="radio"]), select, textarea, button, meter, progress
|
||||
width: 100%
|
||||
|
||||
img, video, object, embed, iframe
|
||||
height: auto
|
||||
max-width: 100%
|
||||
|
||||
audio
|
||||
max-width: 100%
|
||||
9
src/_tables.sass
Normal file
9
src/_tables.sass
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
table
|
||||
border-collapse: collapse
|
||||
border-spacing: 0
|
||||
|
||||
td, th
|
||||
padding: 0
|
||||
|
||||
caption
|
||||
text-align: inherit
|
||||
85
src/_typography.sass
Normal file
85
src/_typography.sass
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/**
|
||||
* 1. Prevent iOS and IE text size adjust after device orientation change
|
||||
* without disabling user zoom.
|
||||
*/
|
||||
html
|
||||
-ms-text-size-adjust: 100% /* 1 */
|
||||
-webkit-text-size-adjust: 100% /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Remove all styling from `h1-6` elements.
|
||||
*/
|
||||
h1, h2, h3, h4, h5, h6
|
||||
margin: 0 /* 1 */
|
||||
font-size: inherit /* 1 */
|
||||
font-weight: inherit /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Remove extra margin around these elements.
|
||||
*/
|
||||
p, dl, dd, pre, figure, blockquote
|
||||
margin: 0 /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Ensure that these elements inherit font-style.
|
||||
*/
|
||||
i, cite, em, var, address, dfn
|
||||
font-style: inherit /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Ensure that these elements inherit text-decoration.
|
||||
*/
|
||||
u, s, strike, del, ins
|
||||
text-decoration: inherit /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Ensure that these elements inherit font-weight.
|
||||
*/
|
||||
dfn, strong, th, b
|
||||
font-weight: inherit /* 1 */
|
||||
|
||||
small
|
||||
font-size: inherit
|
||||
|
||||
/**
|
||||
* 1. Ensure that font-family is inherited.
|
||||
* 2. Inherit font size in IE.
|
||||
*/
|
||||
tt, code, kbd, samp, pre
|
||||
font-family: inherit /* 1 */
|
||||
font-size: inherit /* 2 */
|
||||
|
||||
/**
|
||||
* 1. Remove quotation marks.
|
||||
*/
|
||||
q
|
||||
&::before, &::after
|
||||
content: '' /* 1 */
|
||||
content: none /* 1 */
|
||||
blockquote, q
|
||||
quotes: none /* 1 */
|
||||
|
||||
/**
|
||||
* 1. Reset styling for `mark` elements.
|
||||
*/
|
||||
mark
|
||||
background-color: inherit /* 1 */
|
||||
color: inherit /* 1 */
|
||||
|
||||
hr
|
||||
box-sizing: content-box /* 1 */
|
||||
height: 0 /* 1 */
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers
|
||||
* (from normalize.css).
|
||||
*/
|
||||
sub, sup
|
||||
font-size: 75%
|
||||
line-height: 0
|
||||
position: relative
|
||||
vertical-align: baseline
|
||||
sup
|
||||
top: -0.5em
|
||||
sub
|
||||
bottom: -0.25em
|
||||
19
src/full-reset.sass
Normal file
19
src/full-reset.sass
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
@import blocks
|
||||
@import box-sizing
|
||||
@import links
|
||||
@import lists
|
||||
@import typography
|
||||
@import embedded-content
|
||||
@import accessibility
|
||||
@import tables
|
||||
@import responsive
|
||||
@import form-elements
|
||||
@import hidden
|
||||
|
||||
/**
|
||||
* 1. Remove default padding on body.
|
||||
* 2. Normalize line-height.
|
||||
*/
|
||||
body
|
||||
margin: 0 /* 1 */
|
||||
line-height: 1 /* 2 */
|
||||
Loading…
Add table
Add a link
Reference in a new issue