archetype 0.0.1.pre.3.f9dde24 → 0.0.1.pre.3.90263a7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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();
|