archetype 0.0.1.pre.3.f9dde24 → 0.0.1.pre.3.90263a7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/archetype +3 -0
- data/lib/archetype/actions/help.rb +16 -0
- data/lib/archetype/actions/theme.rb +73 -0
- data/lib/archetype/executor.rb +27 -0
- data/lib/archetype/functions/helpers.rb +49 -9
- data/lib/archetype/functions/styleguide_memoizer.rb +9 -1
- data/lib/archetype/sass_extensions.rb +1 -0
- data/lib/archetype/sass_extensions/functions/styleguide.rb +104 -27
- data/lib/archetype/sass_extensions/monkey_patches.rb +3 -0
- data/lib/archetype/sass_extensions/monkey_patches/handle_include_loop.rb +41 -0
- data/stylesheets/archetype/_base.scss +3 -0
- data/stylesheets/archetype/_config.scss +5 -1
- data/stylesheets/archetype/_hacks.scss +24 -4
- data/stylesheets/archetype/_ui.scss +23 -2
- data/stylesheets/archetype/base/_h5bp.scss +12 -12
- data/stylesheets/archetype/base/_normalize.scss +178 -139
- data/stylesheets/archetype/styleguide/_helpers.scss +1 -4
- data/stylesheets/archetype/styleguide/components/_alerts.scss +1 -1
- data/stylesheets/archetype/styleguide/components/_buttons.scss +6 -6
- data/stylesheets/archetype/styleguide/components/_closes.scss +2 -2
- data/stylesheets/archetype/util/_styles.scss +18 -3
- data/stylesheets/archetype/util/_targeting.scss +2 -0
- data/templates/_theme/_components.scss +3 -0
- data/templates/_theme/_config.scss +1 -0
- data/templates/_theme/_core.scss +13 -0
- data/templates/_theme/_helpers.scss +1 -0
- data/templates/_theme/_primitives.scss +3 -0
- data/templates/_theme/components/README +1 -0
- data/templates/_theme/primitives/README +1 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/alerts.css +675 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/buttons.css +18 -18
- data/test/fixtures/stylesheets/archetype/expected/styleguide/drop.css +63 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/invalid_structures.css +21 -0
- data/test/fixtures/stylesheets/archetype/expected/styleguide/multi_value.css +13 -0
- data/test/fixtures/stylesheets/archetype/expected/ui/glyph_icon.css +52 -9
- data/test/fixtures/stylesheets/archetype/expected/utilities/targeting/target-browser.css +5 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss +21 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/drop.scss +101 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss +85 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss +18 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +10 -0
- data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +8 -1
- metadata +33 -5
- data/test/fixtures/stylesheets/archetype/assets/images/vendor/archetype/animations/loaders-s7889ccc8c1.png +0 -0
@@ -0,0 +1,41 @@
|
|
1
|
+
# :stopdoc:
|
2
|
+
# monkey patch Sass to exclude special mixins from it's include loop logic
|
3
|
+
module Sass
|
4
|
+
module Tree
|
5
|
+
module Visitors
|
6
|
+
class Perform
|
7
|
+
def handle_include_loop!(node)
|
8
|
+
# a list of exempt mixins
|
9
|
+
exempt = %w(to-styles output-style -outputStyle)
|
10
|
+
exempts = []
|
11
|
+
|
12
|
+
msg = "An @include loop has been found:"
|
13
|
+
content_count = 0
|
14
|
+
mixins = @stack.reverse.map {|s| s[:name]}.compact.select do |s|
|
15
|
+
if s == '@content'
|
16
|
+
content_count += 1
|
17
|
+
false
|
18
|
+
elsif content_count > 0
|
19
|
+
content_count -= 1
|
20
|
+
false
|
21
|
+
# if the mixin is exempt, keep track of it
|
22
|
+
elsif exempt.include?(s.gsub(/_/,'-'))
|
23
|
+
exempts.push(s)
|
24
|
+
false
|
25
|
+
else
|
26
|
+
true
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
return if mixins.empty? or (mixins.size <= exempts.size)
|
31
|
+
raise Sass::SyntaxError.new("#{msg} #{node.name} includes itself") if mixins.size == 1
|
32
|
+
|
33
|
+
msg << "\n" << Sass::Util.enum_cons(mixins.reverse + [node.name], 2).map do |m1, m2|
|
34
|
+
" #{m1} includes #{m2}"
|
35
|
+
end.join("\n")
|
36
|
+
raise Sass::SyntaxError.new(msg)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -38,6 +38,9 @@ $RESET_INIT: false !default;
|
|
38
38
|
// the font-face mixin will likely change in a future version, keep an eye on this
|
39
39
|
// https://github.com/chriseppstein/compass/issues/867
|
40
40
|
@include font-face($CONFIG_GLYPHS_NAME, $CONFIG_GLYPHS_FILES, $CONFIG_GLYPHS_EOT, $CONFIG_GLYPHS_WEIGHT, $CONFIG_GLYPHS_STYLE);
|
41
|
+
// output a second @font-face set with a versioned family name
|
42
|
+
// this will help avoid collisions when multi-app CSS is loaded on a single page
|
43
|
+
@include font-face('#{$CONFIG_GLYPHS_NAME}-#{$CONFIG_GLYPHS_VERSION}', $CONFIG_GLYPHS_FILES, $CONFIG_GLYPHS_EOT, $CONFIG_GLYPHS_WEIGHT, $CONFIG_GLYPHS_STYLE);
|
41
44
|
}
|
42
45
|
|
43
46
|
// auto invoke base reset
|
@@ -59,6 +59,7 @@ $CONFIG_KEYFRAME_LOADERS: archetype-loader !default;
|
|
59
59
|
|
60
60
|
// glyphs
|
61
61
|
$CONFIG_GLYPHS_NAME: FontAwesome !default; // name for the font-face
|
62
|
+
$CONFIG_GLYPHS_VERSION: '0.0.1' !default; // the glyph library version number
|
62
63
|
$CONFIG_GLYPHS_SVG_ID: $CONFIG_GLYPHS_NAME !default;
|
63
64
|
$CONFIG_GLYPHS_BASE_PATH: 'vendor/archetype/fontawesome-webfont' !default; // generic path to all glpyh fonts (sans extensions)
|
64
65
|
$CONFIG_GLYPHS_EOT: '#{$CONFIG_GLYPHS_BASE_PATH}.eot' !default;
|
@@ -367,4 +368,7 @@ $CONFIG_SAFE_FONTS: () !default;
|
|
367
368
|
$CONFIG_SAFE_FONTS: associative-merge($CORE_SAFE_FONTS, $CONFIG_SAFE_FONTS);
|
368
369
|
|
369
370
|
$archetype-glyph-selector: false !default;
|
370
|
-
$archetype-pseudo-selector: false !default;
|
371
|
+
$archetype-pseudo-selector: false !default;
|
372
|
+
|
373
|
+
$CORE_GLYPH_SELECTOR_VAR: '$archetype-glyph-selector';
|
374
|
+
$CORE_GLYPH_SELECTOR_VAR: '$archetype-pseudo-selector';
|
@@ -38,8 +38,16 @@
|
|
38
38
|
// @param $styles {String} the styles to apply to the pseudo-element
|
39
39
|
// @param $content {String} the content to insert into the element (similar to css `content` attribute)
|
40
40
|
// @param $name {String} the name of the element
|
41
|
+
// @content
|
41
42
|
@mixin ie-pseudo-before($styles: false, $content: false, $name: '') {
|
42
|
-
@
|
43
|
+
@if archetype-version('Sass >= 3.2') {
|
44
|
+
@include ie-pseudo($styles, $content, before, $name) {
|
45
|
+
@content;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
@else {
|
49
|
+
@include ie-pseudo($styles, $content, before, $name);
|
50
|
+
}
|
43
51
|
}
|
44
52
|
|
45
53
|
// proxy for ie-pseudo
|
@@ -47,11 +55,19 @@
|
|
47
55
|
// @param $styles {String} the styles to apply to the pseudo-element
|
48
56
|
// @param $content {String} the content to insert into the element (similar to css `content` attribute)
|
49
57
|
// @param $name {String} the name of the element
|
58
|
+
// @content
|
50
59
|
@mixin ie-pseudo-after($styles: false, $content: false, $name: '') {
|
51
|
-
@
|
60
|
+
@if archetype-version('Sass >= 3.2') {
|
61
|
+
@include ie-pseudo($styles, $content, after, $name) {
|
62
|
+
@content;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
@else {
|
66
|
+
@include ie-pseudo($styles, $content, after, $name);
|
67
|
+
}
|
52
68
|
}
|
53
69
|
|
54
|
-
// this creates a one-
|
70
|
+
// this creates a one-time executing expression that inserts an element relative to `this` element.
|
55
71
|
// this allows some level of support for :before/:after in IE6/7
|
56
72
|
// inspired by http://nicolasgallagher.com/better-float-containment-in-ie/
|
57
73
|
// @mixin ie-pseudo
|
@@ -60,6 +76,7 @@
|
|
60
76
|
// @param $placement {String} [before|after] simulate :before or :after behavior
|
61
77
|
// @param $name {String} the name of the element
|
62
78
|
// @param $uid {String} a custom, unique identifier for the generate element
|
79
|
+
// @content
|
63
80
|
@mixin ie-pseudo($styles: false, $content: false, $placement: before, $name: '', $uid: false) {
|
64
81
|
$archetype-pseudo-selector: false;
|
65
82
|
@if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
|
@@ -77,7 +94,10 @@
|
|
77
94
|
@if not $CONFIG_GENERATED_TAG_INLINE {
|
78
95
|
// output it on the generated selector
|
79
96
|
#{$archetype-pseudo-selector} {
|
80
|
-
@include to-styles(-style-string-to-list($styles));
|
97
|
+
@include to-styles(-style-string-to-list(unquote($styles)));
|
98
|
+
@if archetype-version('Sass >= 3.2') {
|
99
|
+
@content;
|
100
|
+
}
|
81
101
|
}
|
82
102
|
}
|
83
103
|
}
|
@@ -117,6 +117,21 @@
|
|
117
117
|
clip: rect(1px, 1px, 1px, 1px);
|
118
118
|
}
|
119
119
|
|
120
|
+
// reverse hide-element and make the element visibile again
|
121
|
+
// @mixin unhide-element
|
122
|
+
// @see hide-element
|
123
|
+
// @param $position {String} value for the position property
|
124
|
+
// @param $height {String} value for the height property
|
125
|
+
// @param $width {String} value for the width property
|
126
|
+
// @param $overflow {String} value for the overflow property
|
127
|
+
@mixin unhide-element($position: static, $height:auto, $width:auto, $overflow:visible) {
|
128
|
+
position: $position;
|
129
|
+
height: $height;
|
130
|
+
width: $width;
|
131
|
+
overflow: $overflow;
|
132
|
+
clip: auto;
|
133
|
+
}
|
134
|
+
|
120
135
|
// mixin for generating a fade box which fades from transparent to white
|
121
136
|
// @mixin fade-box
|
122
137
|
// @param $width {String} the width of the overlay
|
@@ -155,6 +170,7 @@
|
|
155
170
|
// @param $placement {String} where to place the icon [before|after|inline]
|
156
171
|
// @param $ie-styles {String} styles to apply to IE6/7 (this is needed because the faux :before isn't extendable)
|
157
172
|
// @param $ie-uid {String} a custom, unique identifier for the generate IE6/7 element
|
173
|
+
// @content
|
158
174
|
@mixin glyph-icon($icon, $size: default, $color: inherit, $placement: before, $ie-styles: false, $ie-uid: false) {
|
159
175
|
$archetype-glyph-selector: false;
|
160
176
|
$char-mapping: nil;
|
@@ -180,7 +196,7 @@
|
|
180
196
|
}
|
181
197
|
$selector: if(index(before after, $placement), '&:#{$placement}', '&');
|
182
198
|
#{$selector} {
|
183
|
-
font-family: '#{$CONFIG_GLYPHS_NAME}';
|
199
|
+
font-family: '#{$CONFIG_GLYPHS_NAME}-#{$CONFIG_GLYPHS_VERSION}', '#{$CONFIG_GLYPHS_NAME}';
|
184
200
|
font-weight: $CONFIG_GLYPHS_WEIGHT;
|
185
201
|
font-style: $CONFIG_GLYPHS_STYLE;
|
186
202
|
text-decoration: inherit;
|
@@ -194,7 +210,7 @@
|
|
194
210
|
$archetype-glyph-selector: $selector;
|
195
211
|
@if($selector != '&' and $ie-styles != nil) {
|
196
212
|
// support for IE6/7
|
197
|
-
$styles: "font-family:'#{$CONFIG_GLYPHS_NAME}';font-weight:#{$CONFIG_GLYPHS_WEIGHT};font-style:#{$CONFIG_GLYPHS_STYLE};text-decoration:inherit;";
|
213
|
+
$styles: "font-family:'#{$CONFIG_GLYPHS_NAME}-#{$CONFIG_GLYPHS_VERSION}', '#{$CONFIG_GLYPHS_NAME}';font-weight:#{$CONFIG_GLYPHS_WEIGHT};font-style:#{$CONFIG_GLYPHS_STYLE};text-decoration:inherit;";
|
198
214
|
@if($size != nil) {
|
199
215
|
$styles: $styles + "font-size:#{$size};"
|
200
216
|
}
|
@@ -209,6 +225,11 @@
|
|
209
225
|
$archetype-glyph-selector: '#{$selector}, #{$archetype-pseudo-selector}';
|
210
226
|
}
|
211
227
|
}
|
228
|
+
@if archetype-version('Sass >= 3.2') {
|
229
|
+
#{$archetype-glyph-selector} {
|
230
|
+
@content;
|
231
|
+
}
|
232
|
+
}
|
212
233
|
}
|
213
234
|
}
|
214
235
|
|
@@ -6,7 +6,7 @@
|
|
6
6
|
/* ==========================================================================
|
7
7
|
Base styles: opinionated defaults
|
8
8
|
========================================================================== */
|
9
|
-
|
9
|
+
|
10
10
|
html,
|
11
11
|
button,
|
12
12
|
input,
|
@@ -14,32 +14,32 @@
|
|
14
14
|
textarea {
|
15
15
|
color: #222;
|
16
16
|
}
|
17
|
-
|
17
|
+
|
18
18
|
body {
|
19
19
|
font-size: 1em;
|
20
20
|
line-height: 1.4;
|
21
21
|
}
|
22
|
-
|
22
|
+
|
23
23
|
/*
|
24
24
|
* Remove text-shadow in selection highlight: h5bp.com/i
|
25
25
|
* These selection declarations have to be separate.
|
26
26
|
* Customize the background color to match your design.
|
27
27
|
*/
|
28
|
-
|
28
|
+
|
29
29
|
::-moz-selection {
|
30
30
|
background: #b3d4fc;
|
31
31
|
text-shadow: none;
|
32
32
|
}
|
33
|
-
|
33
|
+
|
34
34
|
::selection {
|
35
35
|
background: #b3d4fc;
|
36
36
|
text-shadow: none;
|
37
37
|
}
|
38
|
-
|
38
|
+
|
39
39
|
/*
|
40
40
|
* A better looking default horizontal rule
|
41
41
|
*/
|
42
|
-
|
42
|
+
|
43
43
|
hr {
|
44
44
|
display: block;
|
45
45
|
height: 1px;
|
@@ -54,7 +54,7 @@
|
|
54
54
|
/*
|
55
55
|
* Remove the gap between images and the bottom of their containers: h5bp.com/i/440
|
56
56
|
*/
|
57
|
-
|
57
|
+
|
58
58
|
img {
|
59
59
|
vertical-align: middle;
|
60
60
|
}
|
@@ -77,7 +77,7 @@
|
|
77
77
|
/*
|
78
78
|
* Allow only vertical resizing of textareas.
|
79
79
|
*/
|
80
|
-
|
80
|
+
|
81
81
|
textarea {
|
82
82
|
resize: vertical;
|
83
83
|
}
|
@@ -87,7 +87,7 @@
|
|
87
87
|
/* ==========================================================================
|
88
88
|
Chrome Frame prompt
|
89
89
|
========================================================================== */
|
90
|
-
|
90
|
+
|
91
91
|
.chromeframe {
|
92
92
|
margin: 0.2em 0;
|
93
93
|
background: #ccc;
|
@@ -117,7 +117,7 @@
|
|
117
117
|
content: "";
|
118
118
|
display: block;
|
119
119
|
width: 0;
|
120
|
-
height:
|
120
|
+
height: 150%;
|
121
121
|
}
|
122
122
|
|
123
123
|
/*
|
@@ -277,7 +277,7 @@
|
|
277
277
|
// @param $exclude {List} the list of features to exclude from the reset
|
278
278
|
// @link https://github.com/h5bp/html5-boilerplate/
|
279
279
|
@mixin base-h5bp($exclude: ()) {
|
280
|
-
/*! HTML5 Boilerplate | MIT License | @
|
280
|
+
/*! HTML5 Boilerplate | MIT License | @9ec546569b */
|
281
281
|
/*
|
282
282
|
* HTML5 Boilerplate
|
283
283
|
*
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// normalize.css v2.
|
1
|
+
// normalize.css v2.1.2 | MIT License | git.io/normalize
|
2
2
|
|
3
3
|
// @category base
|
4
4
|
@mixin base-normalize-html5() {
|
@@ -6,9 +6,9 @@
|
|
6
6
|
HTML5 display definitions
|
7
7
|
========================================================================== */
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
/**
|
10
|
+
* Corrects `block` display not defined in IE 8/9.
|
11
|
+
*/
|
12
12
|
|
13
13
|
article,
|
14
14
|
aside,
|
@@ -18,15 +18,16 @@
|
|
18
18
|
footer,
|
19
19
|
header,
|
20
20
|
hgroup,
|
21
|
+
main,
|
21
22
|
nav,
|
22
23
|
section,
|
23
24
|
summary {
|
24
25
|
display: block;
|
25
26
|
}
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
/**
|
29
|
+
* Corrects `inline-block` display not defined in IE 8/9.
|
30
|
+
*/
|
30
31
|
|
31
32
|
audio,
|
32
33
|
canvas,
|
@@ -34,41 +35,43 @@
|
|
34
35
|
@include inline-block();
|
35
36
|
}
|
36
37
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
/**
|
39
|
+
* Prevents modern browsers from displaying `audio` without controls.
|
40
|
+
* Remove excess height in iOS 5 devices.
|
41
|
+
*/
|
41
42
|
|
42
43
|
audio:not([controls]) {
|
43
44
|
display: none;
|
44
45
|
height: 0;
|
45
46
|
}
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
|
48
|
+
/**
|
49
|
+
* Addresses styling for `hidden` attribute not present in IE 8/9.
|
50
|
+
* Hide the `template` element in IE, Safari, and Firefox < 22.
|
51
|
+
*/
|
50
52
|
|
51
|
-
[hidden]
|
53
|
+
[hidden],
|
54
|
+
template {
|
52
55
|
display: none;
|
53
56
|
}
|
54
57
|
}
|
55
58
|
|
56
59
|
@mixin base-normalize-text-adjust() {
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
60
|
+
/**
|
61
|
+
* 0. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
|
62
|
+
* http://clagnut.com/blog/348/#c790
|
63
|
+
* 1. Sets default font family to sans-serif.
|
64
|
+
* 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
|
65
|
+
* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
|
66
|
+
*/
|
64
67
|
html {
|
65
68
|
// legacy
|
66
69
|
@if $legacy-support-for-ie7 or $legacy-support-for-ie6 {
|
67
70
|
font-size: 100%; /* 0 */
|
68
71
|
}
|
69
72
|
font-family: sans-serif; /* 1 */
|
70
|
-
-webkit-text-size-adjust: 100%; /* 2 */
|
71
73
|
-ms-text-size-adjust: 100%; /* 2 */
|
74
|
+
-webkit-text-size-adjust: 100%; /* 2 */
|
72
75
|
}
|
73
76
|
|
74
77
|
}
|
@@ -78,9 +81,9 @@
|
|
78
81
|
Base
|
79
82
|
========================================================================== */
|
80
83
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
+
/**
|
85
|
+
* Removes default margin.
|
86
|
+
*/
|
84
87
|
|
85
88
|
body {
|
86
89
|
margin: 0;
|
@@ -92,17 +95,29 @@
|
|
92
95
|
Links
|
93
96
|
========================================================================== */
|
94
97
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
+
// TODO: need to evaluate this change given the issue known issue with
|
99
|
+
// transparent background elements not gaining :focus state
|
100
|
+
// so disabling this change for now :(
|
101
|
+
// @see transparent-focusable
|
102
|
+
///**
|
103
|
+
// * Remove the gray background color from active links in IE 10.
|
104
|
+
// */
|
105
|
+
//
|
106
|
+
//a {
|
107
|
+
// background: transparent;
|
108
|
+
//}
|
109
|
+
|
110
|
+
/**
|
111
|
+
* Addresses `outline` inconsistency between Chrome and other browsers.
|
112
|
+
*/
|
98
113
|
|
99
114
|
a:focus {
|
100
115
|
outline: thin dotted;
|
101
116
|
}
|
102
117
|
|
103
|
-
|
104
|
-
|
105
|
-
|
118
|
+
/**
|
119
|
+
* Improves readability when focused and also mouse hovered in all browsers.
|
120
|
+
*/
|
106
121
|
|
107
122
|
a:active,
|
108
123
|
a:hover {
|
@@ -111,9 +126,9 @@
|
|
111
126
|
}
|
112
127
|
|
113
128
|
@mixin base-normalize-typogrpahy-core() {
|
114
|
-
|
115
|
-
|
116
|
-
|
129
|
+
/**
|
130
|
+
* Corrects font family set oddly in Safari 5 and Chrome.
|
131
|
+
*/
|
117
132
|
|
118
133
|
code,
|
119
134
|
kbd,
|
@@ -123,9 +138,9 @@
|
|
123
138
|
font-size: 1em;
|
124
139
|
}
|
125
140
|
|
126
|
-
|
127
|
-
|
128
|
-
|
141
|
+
/**
|
142
|
+
* Improves readability of pre-formatted text in all browsers.
|
143
|
+
*/
|
129
144
|
|
130
145
|
pre {
|
131
146
|
white-space: pre;
|
@@ -134,17 +149,17 @@
|
|
134
149
|
}
|
135
150
|
|
136
151
|
|
137
|
-
|
138
|
-
|
139
|
-
|
152
|
+
/**
|
153
|
+
* Addresses inconsistent and variable font size in all browsers.
|
154
|
+
*/
|
140
155
|
|
141
156
|
small {
|
142
157
|
font-size: 80%;
|
143
158
|
}
|
144
159
|
|
145
|
-
|
146
|
-
|
147
|
-
|
160
|
+
/**
|
161
|
+
* Prevents `sub` and `sup` affecting `line-height` in all browsers.
|
162
|
+
*/
|
148
163
|
|
149
164
|
sub,
|
150
165
|
sup {
|
@@ -168,10 +183,10 @@
|
|
168
183
|
Typography
|
169
184
|
========================================================================== */
|
170
185
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
186
|
+
/**
|
187
|
+
* Addresses font sizes and margins set differently in IE6/7
|
188
|
+
* Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
|
189
|
+
*/
|
175
190
|
|
176
191
|
h1 {
|
177
192
|
font-size: 2em;
|
@@ -203,33 +218,45 @@
|
|
203
218
|
margin: 2.33em 0;
|
204
219
|
}
|
205
220
|
|
206
|
-
|
207
|
-
|
208
|
-
|
221
|
+
/**
|
222
|
+
* Addresses styling not present in IE 8/9, Safari 5, and Chrome.
|
223
|
+
*/
|
209
224
|
|
210
225
|
abbr[title] {
|
211
226
|
border-bottom: 1px dotted;
|
212
227
|
}
|
213
228
|
|
214
|
-
|
215
|
-
|
216
|
-
|
229
|
+
/**
|
230
|
+
* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
|
231
|
+
*/
|
217
232
|
|
218
233
|
b,
|
219
234
|
strong {
|
220
235
|
font-weight: bold;
|
221
236
|
}
|
222
|
-
|
223
|
-
|
224
|
-
|
237
|
+
|
238
|
+
/**
|
239
|
+
* Addresses styling not present in Safari 5 and Chrome.
|
240
|
+
*/
|
225
241
|
|
226
242
|
dfn {
|
227
243
|
font-style: italic;
|
228
244
|
}
|
229
245
|
|
230
|
-
|
231
|
-
|
232
|
-
|
246
|
+
/**
|
247
|
+
* Address differences between Firefox and other browsers.
|
248
|
+
*/
|
249
|
+
|
250
|
+
hr {
|
251
|
+
-moz-box-sizing: content-box;
|
252
|
+
box-sizing: content-box;
|
253
|
+
height: 0;
|
254
|
+
}
|
255
|
+
|
256
|
+
|
257
|
+
/**
|
258
|
+
* Addresses styling not present in IE 8/9.
|
259
|
+
*/
|
233
260
|
|
234
261
|
mark {
|
235
262
|
background: #ff0;
|
@@ -240,9 +267,9 @@
|
|
240
267
|
margin: 1em 40px;
|
241
268
|
}
|
242
269
|
|
243
|
-
|
244
|
-
|
245
|
-
|
270
|
+
/**
|
271
|
+
* Addresses margins set differently in IE6/7
|
272
|
+
*/
|
246
273
|
|
247
274
|
p,
|
248
275
|
pre {
|
@@ -251,9 +278,9 @@
|
|
251
278
|
}
|
252
279
|
|
253
280
|
@mixin base-normalize-quotes() {
|
254
|
-
|
255
|
-
|
256
|
-
|
281
|
+
/**
|
282
|
+
* Sets consistent quote types.
|
283
|
+
*/
|
257
284
|
q {
|
258
285
|
quotes: "\201C" "\201D" "\2018" "\2019";
|
259
286
|
}
|
@@ -266,7 +293,7 @@
|
|
266
293
|
Lists
|
267
294
|
========================================================================== */
|
268
295
|
|
269
|
-
|
296
|
+
/**
|
270
297
|
* Addresses margins set differently in IE6/7
|
271
298
|
*/
|
272
299
|
|
@@ -281,7 +308,7 @@
|
|
281
308
|
margin: 0 0 0 40px;
|
282
309
|
}
|
283
310
|
|
284
|
-
|
311
|
+
/**
|
285
312
|
* Addresses paddings set differently in IE6/7
|
286
313
|
*/
|
287
314
|
|
@@ -291,7 +318,7 @@
|
|
291
318
|
padding: 0 0 0 40px;
|
292
319
|
}
|
293
320
|
|
294
|
-
|
321
|
+
/**
|
295
322
|
* Corrects list images handled incorrectly in IE7
|
296
323
|
*/
|
297
324
|
|
@@ -304,11 +331,11 @@
|
|
304
331
|
}
|
305
332
|
|
306
333
|
@mixin base-normalize-image() {
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
334
|
+
/**
|
335
|
+
* 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
|
336
|
+
* 2. Improves image quality when scaled in IE7
|
337
|
+
* code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
|
338
|
+
*/
|
312
339
|
|
313
340
|
img {
|
314
341
|
border: 0; /* 1 */
|
@@ -324,10 +351,10 @@
|
|
324
351
|
Embedded content
|
325
352
|
========================================================================== */
|
326
353
|
@include base-normalize-image();
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
354
|
+
|
355
|
+
/**
|
356
|
+
* Corrects overflow displayed oddly in IE9
|
357
|
+
*/
|
331
358
|
|
332
359
|
svg:not(:root) {
|
333
360
|
overflow: hidden;
|
@@ -339,9 +366,9 @@
|
|
339
366
|
Figures
|
340
367
|
========================================================================== */
|
341
368
|
|
342
|
-
|
343
|
-
|
344
|
-
|
369
|
+
/**
|
370
|
+
* Addresses margin not present in IE6/7/8/9, S5, O11
|
371
|
+
*/
|
345
372
|
|
346
373
|
figure {
|
347
374
|
margin: 0;
|
@@ -349,9 +376,9 @@
|
|
349
376
|
}
|
350
377
|
|
351
378
|
@mixin base-normalize-fieldset() {
|
352
|
-
|
353
|
-
|
354
|
-
|
379
|
+
/**
|
380
|
+
* Define consistent border, margin, and padding.
|
381
|
+
*/
|
355
382
|
|
356
383
|
fieldset {
|
357
384
|
border: 1px solid #c0c0c0;
|
@@ -365,19 +392,19 @@
|
|
365
392
|
Forms
|
366
393
|
========================================================================== */
|
367
394
|
|
368
|
-
|
369
|
-
|
370
|
-
|
395
|
+
/**
|
396
|
+
* Corrects margin displayed oddly in IE6/7
|
397
|
+
*/
|
371
398
|
|
372
399
|
form {
|
373
400
|
margin: 0;
|
374
401
|
}
|
375
402
|
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
403
|
+
/**
|
404
|
+
* 1. Corrects color not being inherited in IE6/7/8/9
|
405
|
+
* 2. Corrects text not wrapping in FF3
|
406
|
+
* 3. Corrects alignment displayed oddly in IE6/7
|
407
|
+
*/
|
381
408
|
|
382
409
|
legend {
|
383
410
|
border: 0; /* 1 */
|
@@ -389,12 +416,12 @@
|
|
389
416
|
}
|
390
417
|
}
|
391
418
|
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
419
|
+
/**
|
420
|
+
* 1. Corrects font family not being inherited in all browsers.
|
421
|
+
* 2. Corrects font size not being inherited in all browsers.
|
422
|
+
* 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
|
423
|
+
* 4. Improves appearance and consistency in all browsers
|
424
|
+
*/
|
398
425
|
|
399
426
|
button,
|
400
427
|
input,
|
@@ -410,23 +437,35 @@
|
|
410
437
|
}
|
411
438
|
}
|
412
439
|
|
413
|
-
|
414
|
-
|
415
|
-
|
440
|
+
/**
|
441
|
+
* Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
|
442
|
+
*/
|
416
443
|
|
417
444
|
button,
|
418
445
|
input {
|
419
446
|
line-height: normal; /* 1 */
|
420
447
|
}
|
421
448
|
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
449
|
+
/**
|
450
|
+
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
451
|
+
* All other form control elements do not inherit `text-transform` values.
|
452
|
+
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
|
453
|
+
* Correct `select` style inheritance in Firefox 4+ and Opera.
|
454
|
+
*/
|
455
|
+
|
456
|
+
button,
|
457
|
+
select {
|
458
|
+
text-transform: none;
|
459
|
+
}
|
460
|
+
|
461
|
+
/**
|
462
|
+
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
463
|
+
* and `video` controls.
|
464
|
+
* 2. Correct inability to style clickable `input` types in iOS.
|
465
|
+
* 3. Improve usability and consistency of cursor style between image-type
|
466
|
+
* `input` and others.
|
467
|
+
* 4. Removes inner spacing in IE7 without affecting normal text inputs
|
468
|
+
*/
|
430
469
|
|
431
470
|
button,
|
432
471
|
html input[type="button"], /* 1 */
|
@@ -440,21 +479,21 @@
|
|
440
479
|
}
|
441
480
|
}
|
442
481
|
|
443
|
-
|
444
|
-
|
445
|
-
|
482
|
+
/**
|
483
|
+
* Re-set default cursor for disabled elements.
|
484
|
+
*/
|
446
485
|
|
447
486
|
button[disabled],
|
448
|
-
input[disabled] {
|
487
|
+
html input[disabled] {
|
449
488
|
cursor: default;
|
450
489
|
}
|
451
490
|
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
491
|
+
/**
|
492
|
+
* 1. Addresses box sizing set to `content-box` in IE 8/9.
|
493
|
+
* 2. Removes excess padding in IE 8/9.
|
494
|
+
* 3. Removes excess padding in IE7
|
456
495
|
Known issue: excess padding remains in IE6
|
457
|
-
|
496
|
+
*/
|
458
497
|
|
459
498
|
input[type="checkbox"],
|
460
499
|
input[type="radio"] {
|
@@ -467,11 +506,11 @@
|
|
467
506
|
}
|
468
507
|
}
|
469
508
|
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
509
|
+
/**
|
510
|
+
* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
|
511
|
+
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
|
512
|
+
* (include `-moz` to future-proof).
|
513
|
+
*/
|
475
514
|
|
476
515
|
input[type="search"] {
|
477
516
|
-webkit-appearance: textfield; /* 1 */
|
@@ -481,10 +520,10 @@
|
|
481
520
|
}
|
482
521
|
|
483
522
|
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
523
|
+
/**
|
524
|
+
* Removes inner padding and search cancel button in Safari 5 and Chrome
|
525
|
+
* on OS X.
|
526
|
+
*/
|
488
527
|
|
489
528
|
input[type="search"]::-webkit-search-cancel-button,
|
490
529
|
input[type="search"]::-webkit-search-decoration {
|
@@ -492,9 +531,9 @@
|
|
492
531
|
}
|
493
532
|
|
494
533
|
|
495
|
-
|
496
|
-
|
497
|
-
|
534
|
+
/**
|
535
|
+
* Removes inner padding and border in Firefox 4+.
|
536
|
+
*/
|
498
537
|
|
499
538
|
button::-moz-focus-inner,
|
500
539
|
input::-moz-focus-inner {
|
@@ -502,16 +541,16 @@
|
|
502
541
|
padding: 0;
|
503
542
|
}
|
504
543
|
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
544
|
+
/**
|
545
|
+
* 1. Removes default vertical scrollbar in IE6/7/8/9
|
546
|
+
* 2. Improves readability and alignment in all browsers
|
547
|
+
*/
|
509
548
|
|
510
549
|
textarea {
|
511
550
|
overflow: auto; /* 1 */
|
512
551
|
vertical-align: top; /* 2 */
|
513
552
|
}
|
514
|
-
|
553
|
+
|
515
554
|
}
|
516
555
|
|
517
556
|
@mixin base-normalize-ime() {
|
@@ -529,9 +568,9 @@
|
|
529
568
|
Tables
|
530
569
|
========================================================================== */
|
531
570
|
|
532
|
-
|
533
|
-
|
534
|
-
|
571
|
+
/**
|
572
|
+
* Remove most spacing between table cells.
|
573
|
+
*/
|
535
574
|
|
536
575
|
table {
|
537
576
|
border-collapse: collapse;
|
@@ -545,7 +584,7 @@
|
|
545
584
|
// @param $exclude {List} the list of features to exclude from the reset
|
546
585
|
// @link http://github.com/necolas/normalize.css
|
547
586
|
@mixin base-normalize($exclude: ()) {
|
548
|
-
/*! normalize.css v2.
|
587
|
+
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
|
549
588
|
$exclude: -compass-list($exclude);
|
550
589
|
@if(not index($exclude, normalize-html5)) {
|
551
590
|
@include base-normalize-html5();
|