compass-h5bp 0.1.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,11 +7,14 @@ require 'fileutils'
7
7
  PROJECT_DIR = File.join(File.dirname(__FILE__), 'project')
8
8
  ORIGINAL_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'original.css')
9
9
  TEST_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'test.css')
10
- ORIGINAL_NORMALIZE_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'original_normalize.css')
10
+ ORIGINAL_NORMALIZE_OUTPUT_PATH = File.join(
11
+ PROJECT_DIR, 'css',
12
+ 'original_normalize.css'
13
+ )
11
14
  TEST_NORMALIZE_OUTPUT_PATH = File.join(PROJECT_DIR, 'css', 'test_normalize.css')
12
15
 
13
- class CompassH5bpTest < Test::Unit::TestCase
14
-
16
+ # Test case for compass-h5bp
17
+ class Compassh5bpTest < Test::Unit::TestCase
15
18
  def test_compass_version_matches_original
16
19
  FileUtils.rm_f ORIGINAL_OUTPUT_PATH
17
20
  FileUtils.rm_f TEST_OUTPUT_PATH
@@ -27,8 +30,10 @@ class CompassH5bpTest < Test::Unit::TestCase
27
30
  config.output_style = :compact
28
31
  config.line_comments = false
29
32
  end
30
- args = Compass.configuration.to_compiler_arguments(:logger => Compass::NullLogger.new)
31
- compiler = Compass::Compiler.new *args
33
+ args = Compass.configuration.to_compiler_arguments(
34
+ logger: 'Compass::NullLogger.new'
35
+ )
36
+ compiler = Compass::Compiler.new(*args)
32
37
  compiler.run
33
38
  original_css = read_and_normalize(ORIGINAL_OUTPUT_PATH)
34
39
  test_css = read_and_normalize(TEST_OUTPUT_PATH)
@@ -37,13 +42,13 @@ class CompassH5bpTest < Test::Unit::TestCase
37
42
  assert_equal original_css, test_css
38
43
  assert_equal original_normalize_css, test_normalize_css
39
44
  end
40
-
45
+
41
46
  def read_and_normalize(file)
42
- File.open(file).read.
43
- gsub(/\/\*.+?\*\/\n/m, '').
44
- gsub(/\n+/, "\n").
45
- gsub(/\n +/, "\n").
46
- gsub(/color: white;/, 'color: #ffffff;').
47
- gsub(/#(.)(.)(.)\b/, '#\1\1\2\2\3\3')
47
+ File.open(file).read
48
+ .gsub(/\/\*.+?\*\/\n/m, '')
49
+ .gsub(/\n+/, "\n")
50
+ .gsub(/\n +/, "\n")
51
+ .gsub(/color: white;/, 'color: #ffffff;')
52
+ .gsub(/#(.)(.)(.)\b/, '#\1\1\2\2\3\3')
48
53
  end
49
- end
54
+ end
@@ -1,30 +1,23 @@
1
1
  /*
2
- * HTML5 Boilerplate
3
- *
4
2
  * What follows is the result of much research on cross-browser styling.
5
3
  * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
6
- * Kroc Camen, and the H5BP dev community and team.
4
+ * Kroc Camen, and the h5bp dev community and team.
7
5
  */
8
6
 
9
7
  /* ==========================================================================
10
8
  Base styles: opinionated defaults
11
9
  ========================================================================== */
12
10
 
13
- html,
14
- button,
15
- input,
16
- select,
17
- textarea {
11
+ html {
18
12
  color: #222;
19
- }
20
-
21
- body {
22
13
  font-size: 1em;
23
14
  line-height: 1.4;
24
15
  }
25
16
 
26
17
  /*
27
- * Remove text-shadow in selection highlight: h5bp.com/i
18
+ * Remove text-shadow in selection highlight:
19
+ * https://twitter.com/miketaylr/status/12228805301
20
+ *
28
21
  * These selection rule sets have to be separate.
29
22
  * Customize the background color to match your design.
30
23
  */
@@ -53,10 +46,17 @@ hr {
53
46
  }
54
47
 
55
48
  /*
56
- * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
49
+ * Remove the gap between audio, canvas, iframes,
50
+ * images, videos and the bottom of their containers:
51
+ * https://github.com/h5bp/html5-boilerplate/issues/440
57
52
  */
58
53
 
59
- img {
54
+ audio,
55
+ canvas,
56
+ iframe,
57
+ img,
58
+ svg,
59
+ video {
60
60
  vertical-align: middle;
61
61
  }
62
62
 
@@ -79,10 +79,10 @@ textarea {
79
79
  }
80
80
 
81
81
  /* ==========================================================================
82
- Chrome Frame prompt
82
+ Browser Upgrade Prompt
83
83
  ========================================================================== */
84
84
 
85
- .chromeframe {
85
+ .browserupgrade {
86
86
  margin: 0.2em 0;
87
87
  background: #ccc;
88
88
  color: #000;
@@ -114,26 +114,8 @@ textarea {
114
114
  ========================================================================== */
115
115
 
116
116
  /*
117
- * Image replacement
118
- */
119
-
120
- .ir {
121
- background-color: transparent;
122
- border: 0;
123
- overflow: hidden;
124
- // IE 6/7 fallback
125
- *text-indent: -9999px;
126
- }
127
-
128
- .ir:before {
129
- content: "";
130
- display: block;
131
- width: 0;
132
- height: 150%;
133
- }
134
-
135
- /*
136
- * Hide from both screenreaders and browsers: h5bp.com/u
117
+ * Hide visually and from screen readers:
118
+ * http://juicystudio.com/article/screen-readers-display-none.php
137
119
  */
138
120
 
139
121
  .hidden {
@@ -142,7 +124,8 @@ textarea {
142
124
  }
143
125
 
144
126
  /*
145
- * Hide only visually, but have it available for screenreaders: h5bp.com/v
127
+ * Hide only visually, but have it available for screen readers:
128
+ * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
146
129
  */
147
130
 
148
131
  .visuallyhidden {
@@ -157,8 +140,9 @@ textarea {
157
140
  }
158
141
 
159
142
  /*
160
- * Extends the .visuallyhidden class to allow the element to be focusable
161
- * when navigated to via the keyboard: h5bp.com/p
143
+ * Extends the .visuallyhidden class to allow the element
144
+ * to be focusable when navigated to via the keyboard:
145
+ * https://www.drupal.org/node/897638
162
146
  */
163
147
 
164
148
  .visuallyhidden.focusable:active,
@@ -172,7 +156,7 @@ textarea {
172
156
  }
173
157
 
174
158
  /*
175
- * Hide visually and from screenreaders, but maintain layout
159
+ * Hide visually and from screen readers, but maintain layout
176
160
  */
177
161
 
178
162
  .invisible {
@@ -193,23 +177,14 @@ textarea {
193
177
 
194
178
  .clearfix:before,
195
179
  .clearfix:after {
196
- content: " "; // 1
197
- display: table; // 2
180
+ content: " "; /* 1 */
181
+ display: table; /* 2 */
198
182
  }
199
183
 
200
184
  .clearfix:after {
201
185
  clear: both;
202
186
  }
203
187
 
204
- /*
205
- * For IE 6/7 only
206
- * Include this rule to trigger hasLayout and contain floats.
207
- */
208
-
209
- .clearfix {
210
- *zoom: 1;
211
- }
212
-
213
188
  /* ==========================================================================
214
189
  EXAMPLE Media Queries for Responsive Design.
215
190
  These examples override the primary ('mobile first') styles.
@@ -218,7 +193,6 @@ textarea {
218
193
 
219
194
  @media only screen and (min-width: 35em) {
220
195
  /* Style adjustments for viewports that meet the condition */
221
- body { margin: 0; } //HACK: scss class can't be empty
222
196
  }
223
197
 
224
198
  @media print,
@@ -226,18 +200,21 @@ textarea {
226
200
  (-webkit-min-device-pixel-ratio: 1.25),
227
201
  (min-resolution: 120dpi) {
228
202
  /* Style adjustments for high resolution devices */
229
- body { margin: 0; } //HACK: scss class can't be empty
230
203
  }
231
204
 
232
205
  /* ==========================================================================
233
206
  Print styles.
234
- Inlined to avoid required HTTP connection: h5bp.com/r
207
+ Inlined to avoid the additional HTTP request:
208
+ http://www.phpied.com/delay-loading-your-print-css/
235
209
  ========================================================================== */
236
210
 
237
211
  @media print {
238
- * {
212
+ *,
213
+ *:before,
214
+ *:after {
239
215
  background: transparent !important;
240
- color: #000 !important; // Black prints faster: h5bp.com/s
216
+ color: #000 !important; /* Black prints faster:
217
+ http://www.sanbeiji.com/archives/953 */
241
218
  box-shadow: none !important;
242
219
  text-shadow: none !important;
243
220
  }
@@ -256,12 +233,12 @@ textarea {
256
233
  }
257
234
 
258
235
  /*
259
- * Don't show links for images, or javascript/internal links
236
+ * Don't show links that are fragment identifiers,
237
+ * or use the `javascript:` pseudo protocol
260
238
  */
261
239
 
262
- .ir a:after,
263
- a[href^="javascript:"]:after,
264
- a[href^="#"]:after {
240
+ a[href^="#"]:after,
241
+ a[href^="javascript:"]:after {
265
242
  content: "";
266
243
  }
267
244
 
@@ -271,8 +248,13 @@ textarea {
271
248
  page-break-inside: avoid;
272
249
  }
273
250
 
251
+ /*
252
+ * Printing Tables:
253
+ * http://css-discuss.incutio.com/wiki/Printing_Tables
254
+ */
255
+
274
256
  thead {
275
- display: table-header-group; // h5bp.com/t
257
+ display: table-header-group;
276
258
  }
277
259
 
278
260
  tr,
@@ -284,10 +266,6 @@ textarea {
284
266
  max-width: 100% !important;
285
267
  }
286
268
 
287
- @page {
288
- margin: 0.5cm;
289
- }
290
-
291
269
  p,
292
270
  h2,
293
271
  h3 {
@@ -1,11 +1,33 @@
1
- /*! normalize.css v1.1.1 | MIT License | git.io/normalize */
1
+ /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2
2
 
3
- /* ==========================================================================
4
- HTML5 display definitions
3
+ /**
4
+ * 1. Set default font family to sans-serif.
5
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ * user zoom.
7
+ */
8
+
9
+ html {
10
+ font-family: sans-serif; /* 1 */
11
+ -ms-text-size-adjust: 100%; /* 2 */
12
+ -webkit-text-size-adjust: 100%; /* 2 */
13
+ }
14
+
15
+ /**
16
+ * Remove default margin.
17
+ */
18
+
19
+ body {
20
+ margin: 0;
21
+ }
22
+
23
+ /* HTML5 display definitions
5
24
  ========================================================================== */
6
25
 
7
26
  /**
8
- * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
27
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
28
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
29
+ * and Firefox.
30
+ * Correct `block` display not defined for `main` in IE 11.
9
31
  */
10
32
 
11
33
  article,
@@ -17,22 +39,24 @@ footer,
17
39
  header,
18
40
  hgroup,
19
41
  main,
42
+ menu,
20
43
  nav,
21
44
  section,
22
45
  summary {
23
- display: block;
46
+ display: block;
24
47
  }
25
48
 
26
49
  /**
27
- * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
50
+ * 1. Correct `inline-block` display not defined in IE 8/9.
51
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
28
52
  */
29
53
 
30
54
  audio,
31
55
  canvas,
56
+ progress,
32
57
  video {
33
- display: inline-block;
34
- *display: inline;
35
- *zoom: 1;
58
+ display: inline-block; /* 1 */
59
+ vertical-align: baseline; /* 2 */
36
60
  }
37
61
 
38
62
  /**
@@ -41,73 +65,29 @@ video {
41
65
  */
42
66
 
43
67
  audio:not([controls]) {
44
- display: none;
45
- height: 0;
46
- }
47
-
48
- /**
49
- * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
50
- * Known issue: no IE 6 support.
51
- */
52
-
53
- [hidden] {
54
- display: none;
55
- }
56
-
57
- /* ==========================================================================
58
- Base
59
- ========================================================================== */
60
-
61
- /**
62
- * 1. Prevent system color scheme's background color being used in Firefox, IE,
63
- * and Opera.
64
- * 2. Prevent system color scheme's text color being used in Firefox, IE, and
65
- * Opera.
66
- * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
67
- * `em` units.
68
- * 4. Prevent iOS text size adjust after orientation change, without disabling
69
- * user zoom.
70
- */
71
-
72
- html {
73
- background: #fff; // 1
74
- color: #000; // 2
75
- font-size: 100%; // 3
76
- -webkit-text-size-adjust: 100%; // 4
77
- -ms-text-size-adjust: 100%; // 4
68
+ display: none;
69
+ height: 0;
78
70
  }
79
71
 
80
72
  /**
81
- * Address `font-family` inconsistency between `textarea` and other form
82
- * elements.
73
+ * Address `[hidden]` styling not present in IE 8/9/10.
74
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
83
75
  */
84
76
 
85
- html,
86
- button,
87
- input,
88
- select,
89
- textarea {
90
- font-family: sans-serif;
77
+ [hidden],
78
+ template {
79
+ display: none;
91
80
  }
92
81
 
93
- /**
94
- * Address margins handled incorrectly in IE 6/7.
95
- */
96
-
97
- body {
98
- margin: 0;
99
- }
100
-
101
- /* ==========================================================================
102
- Links
82
+ /* Links
103
83
  ========================================================================== */
104
84
 
105
85
  /**
106
- * Address `outline` inconsistency between Chrome and other browsers.
86
+ * Remove the gray background color from active links in IE 10.
107
87
  */
108
88
 
109
- a:focus {
110
- outline: thin dotted;
89
+ a {
90
+ background-color: transparent;
111
91
  }
112
92
 
113
93
  /**
@@ -116,146 +96,54 @@ a:focus {
116
96
 
117
97
  a:active,
118
98
  a:hover {
119
- outline: 0;
99
+ outline: 0;
120
100
  }
121
101
 
122
- /* ==========================================================================
123
- Typography
102
+ /* Text-level semantics
124
103
  ========================================================================== */
125
104
 
126
105
  /**
127
- * Address font sizes and margins set differently in IE 6/7.
128
- * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
129
- * and Chrome.
130
- */
131
-
132
- h1 {
133
- font-size: 2em;
134
- margin: 0.67em 0;
135
- }
136
-
137
- h2 {
138
- font-size: 1.5em;
139
- margin: 0.83em 0;
140
- }
141
-
142
- h3 {
143
- font-size: 1.17em;
144
- margin: 1em 0;
145
- }
146
-
147
- h4 {
148
- font-size: 1em;
149
- margin: 1.33em 0;
150
- }
151
-
152
- h5 {
153
- font-size: 0.83em;
154
- margin: 1.67em 0;
155
- }
156
-
157
- h6 {
158
- font-size: 0.67em;
159
- margin: 2.33em 0;
160
- }
161
-
162
- /**
163
- * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
106
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
164
107
  */
165
108
 
166
109
  abbr[title] {
167
- border-bottom: 1px dotted;
110
+ border-bottom: 1px dotted;
168
111
  }
169
112
 
170
113
  /**
171
- * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
114
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
172
115
  */
173
116
 
174
117
  b,
175
118
  strong {
176
- font-weight: bold;
177
- }
178
-
179
- blockquote {
180
- margin: 1em 40px;
119
+ font-weight: bold;
181
120
  }
182
121
 
183
122
  /**
184
- * Address styling not present in Safari 5 and Chrome.
123
+ * Address styling not present in Safari and Chrome.
185
124
  */
186
125
 
187
126
  dfn {
188
- font-style: italic;
127
+ font-style: italic;
189
128
  }
190
129
 
191
130
  /**
192
- * Address differences between Firefox and other browsers.
193
- * Known issue: no IE 6/7 normalization.
131
+ * Address variable `h1` font-size and margin within `section` and `article`
132
+ * contexts in Firefox 4+, Safari, and Chrome.
194
133
  */
195
134
 
196
- hr {
197
- -moz-box-sizing: content-box;
198
- box-sizing: content-box;
199
- height: 0;
135
+ h1 {
136
+ font-size: 2em;
137
+ margin: 0.67em 0;
200
138
  }
201
139
 
202
140
  /**
203
- * Address styling not present in IE 6/7/8/9.
141
+ * Address styling not present in IE 8/9.
204
142
  */
205
143
 
206
144
  mark {
207
- background: #ff0;
208
- color: #000;
209
- }
210
-
211
- /**
212
- * Address margins set differently in IE 6/7.
213
- */
214
-
215
- p,
216
- pre {
217
- margin: 1em 0;
218
- }
219
-
220
- /**
221
- * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
222
- */
223
-
224
- code,
225
- kbd,
226
- pre,
227
- samp {
228
- font-family: monospace, serif;
229
- _font-family: 'courier new', monospace;
230
- font-size: 1em;
231
- }
232
-
233
- /**
234
- * Improve readability of pre-formatted text in all browsers.
235
- */
236
-
237
- pre {
238
- white-space: pre;
239
- white-space: pre-wrap;
240
- word-wrap: break-word;
241
- }
242
-
243
- /**
244
- * Address CSS quotes not supported in IE 6/7.
245
- */
246
-
247
- q {
248
- quotes: none;
249
- }
250
-
251
- /**
252
- * Address `quotes` property not supported in Safari 4.
253
- */
254
-
255
- q:before,
256
- q:after {
257
- content: '';
258
- content: none;
145
+ background: #ff0;
146
+ color: #000;
259
147
  }
260
148
 
261
149
  /**
@@ -263,7 +151,7 @@ q:after {
263
151
  */
264
152
 
265
153
  small {
266
- font-size: 80%;
154
+ font-size: 80%;
267
155
  }
268
156
 
269
157
  /**
@@ -272,165 +160,123 @@ small {
272
160
 
273
161
  sub,
274
162
  sup {
275
- font-size: 75%;
276
- line-height: 0;
277
- position: relative;
278
- vertical-align: baseline;
163
+ font-size: 75%;
164
+ line-height: 0;
165
+ position: relative;
166
+ vertical-align: baseline;
279
167
  }
280
168
 
281
169
  sup {
282
- top: -0.5em;
170
+ top: -0.5em;
283
171
  }
284
172
 
285
173
  sub {
286
- bottom: -0.25em;
174
+ bottom: -0.25em;
287
175
  }
288
176
 
289
- /* ==========================================================================
290
- Lists
177
+ /* Embedded content
291
178
  ========================================================================== */
292
179
 
293
180
  /**
294
- * Address margins set differently in IE 6/7.
181
+ * Remove border when inside `a` element in IE 8/9/10.
295
182
  */
296
183
 
297
- dl,
298
- menu,
299
- ol,
300
- ul {
301
- margin: 1em 0;
302
- }
303
-
304
- dd {
305
- margin: 0 0 0 40px;
306
- }
307
-
308
- /**
309
- * Address paddings set differently in IE 6/7.
310
- */
311
-
312
- menu,
313
- ol,
314
- ul {
315
- padding: 0 0 0 40px;
184
+ img {
185
+ border: 0;
316
186
  }
317
187
 
318
188
  /**
319
- * Correct list images handled incorrectly in IE 7.
189
+ * Correct overflow not hidden in IE 9/10/11.
320
190
  */
321
191
 
322
- nav ul,
323
- nav ol {
324
- list-style: none;
325
- list-style-image: none;
192
+ svg:not(:root) {
193
+ overflow: hidden;
326
194
  }
327
195
 
328
- /* ==========================================================================
329
- Embedded content
196
+ /* Grouping content
330
197
  ========================================================================== */
331
198
 
332
199
  /**
333
- * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
334
- * 2. Improve image quality when scaled in IE 7.
200
+ * Address margin not present in IE 8/9 and Safari.
335
201
  */
336
202
 
337
- img {
338
- border: 0; // 1
339
- -ms-interpolation-mode: bicubic; // 2
203
+ figure {
204
+ margin: 1em 40px;
340
205
  }
341
206
 
342
207
  /**
343
- * Correct overflow displayed oddly in IE 9.
208
+ * Address differences between Firefox and other browsers.
344
209
  */
345
210
 
346
- svg:not(:root) {
347
- overflow: hidden;
211
+ hr {
212
+ -moz-box-sizing: content-box;
213
+ box-sizing: content-box;
214
+ height: 0;
348
215
  }
349
216
 
350
- /* ==========================================================================
351
- Figures
352
- ========================================================================== */
353
-
354
217
  /**
355
- * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
218
+ * Contain overflow in all browsers.
356
219
  */
357
220
 
358
- figure {
359
- margin: 0;
221
+ pre {
222
+ overflow: auto;
360
223
  }
361
224
 
362
- /* ==========================================================================
363
- Forms
364
- ========================================================================== */
365
-
366
225
  /**
367
- * Correct margin displayed oddly in IE 6/7.
226
+ * Address odd `em`-unit font size rendering in all browsers.
368
227
  */
369
228
 
370
- form {
371
- margin: 0;
229
+ code,
230
+ kbd,
231
+ pre,
232
+ samp {
233
+ font-family: monospace, monospace;
234
+ font-size: 1em;
372
235
  }
373
236
 
374
- /**
375
- * Define consistent border, margin, and padding.
376
- */
377
-
378
- fieldset {
379
- border: 1px solid #c0c0c0;
380
- margin: 0 2px;
381
- padding: 0.35em 0.625em 0.75em;
382
- }
237
+ /* Forms
238
+ ========================================================================== */
383
239
 
384
240
  /**
385
- * 1. Correct color not being inherited in IE 6/7/8/9.
386
- * 2. Correct text not wrapping in Firefox 3.
387
- * 3. Correct alignment displayed oddly in IE 6/7.
241
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
242
+ * styling of `select`, unless a `border` property is set.
388
243
  */
389
244
 
390
- legend {
391
- border: 0; // 1
392
- padding: 0;
393
- white-space: normal; // 2
394
- *margin-left: -7px; // 3
395
- }
396
-
397
245
  /**
398
- * 1. Correct font size not being inherited in all browsers.
399
- * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
400
- * and Chrome.
401
- * 3. Improve appearance and consistency in all browsers.
246
+ * 1. Correct color not being inherited.
247
+ * Known issue: affects color of disabled elements.
248
+ * 2. Correct font properties not being inherited.
249
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
402
250
  */
403
251
 
404
252
  button,
405
253
  input,
254
+ optgroup,
406
255
  select,
407
256
  textarea {
408
- font-size: 100%; // 1
409
- margin: 0; // 2
410
- vertical-align: baseline; // 3
411
- *vertical-align: middle; // 3
257
+ color: inherit; /* 1 */
258
+ font: inherit; /* 2 */
259
+ margin: 0; /* 3 */
412
260
  }
413
261
 
414
262
  /**
415
- * Address Firefox 3+ setting `line-height` on `input` using `!important` in
416
- * the UA stylesheet.
263
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
417
264
  */
418
265
 
419
- button,
420
- input {
421
- line-height: normal;
266
+ button {
267
+ overflow: visible;
422
268
  }
423
269
 
424
270
  /**
425
271
  * Address inconsistent `text-transform` inheritance for `button` and `select`.
426
272
  * All other form control elements do not inherit `text-transform` values.
427
- * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
428
- * Correct `select` style inheritance in Firefox 4+ and Opera.
273
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
274
+ * Correct `select` style inheritance in Firefox.
429
275
  */
430
276
 
431
277
  button,
432
278
  select {
433
- text-transform: none;
279
+ text-transform: none;
434
280
  }
435
281
 
436
282
  /**
@@ -439,17 +285,14 @@ select {
439
285
  * 2. Correct inability to style clickable `input` types in iOS.
440
286
  * 3. Improve usability and consistency of cursor style between image-type
441
287
  * `input` and others.
442
- * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
443
- * Known issue: inner spacing remains in IE 6.
444
288
  */
445
289
 
446
290
  button,
447
- html input[type="button"], // 1
291
+ html input[type="button"], /* 1 */
448
292
  input[type="reset"],
449
293
  input[type="submit"] {
450
- -webkit-appearance: button; // 2
451
- cursor: pointer; // 3
452
- *overflow: visible; // 4
294
+ -webkit-appearance: button; /* 2 */
295
+ cursor: pointer; /* 3 */
453
296
  }
454
297
 
455
298
  /**
@@ -458,69 +301,115 @@ input[type="submit"] {
458
301
 
459
302
  button[disabled],
460
303
  html input[disabled] {
461
- cursor: default;
304
+ cursor: default;
462
305
  }
463
306
 
464
307
  /**
465
- * 1. Address box sizing set to content-box in IE 8/9.
466
- * 2. Remove excess padding in IE 8/9.
467
- * 3. Remove excess padding in IE 7.
468
- * Known issue: excess padding remains in IE 6.
308
+ * Remove inner padding and border in Firefox 4+.
309
+ */
310
+
311
+ button::-moz-focus-inner,
312
+ input::-moz-focus-inner {
313
+ border: 0;
314
+ padding: 0;
315
+ }
316
+
317
+ /**
318
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
319
+ * the UA stylesheet.
320
+ */
321
+
322
+ input {
323
+ line-height: normal;
324
+ }
325
+
326
+ /**
327
+ * It's recommended that you don't attempt to style these elements.
328
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
329
+ *
330
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
331
+ * 2. Remove excess padding in IE 8/9/10.
469
332
  */
470
333
 
471
334
  input[type="checkbox"],
472
335
  input[type="radio"] {
473
- box-sizing: border-box; // 1
474
- padding: 0; // 2
475
- *height: 13px; // 3
476
- *width: 13px; // 3
336
+ box-sizing: border-box; /* 1 */
337
+ padding: 0; /* 2 */
477
338
  }
478
339
 
479
340
  /**
480
- * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
481
- * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
341
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
342
+ * `font-size` values of the `input`, it causes the cursor style of the
343
+ * decrement button to change from `default` to `text`.
344
+ */
345
+
346
+ input[type="number"]::-webkit-inner-spin-button,
347
+ input[type="number"]::-webkit-outer-spin-button {
348
+ height: auto;
349
+ }
350
+
351
+ /**
352
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
353
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
482
354
  * (include `-moz` to future-proof).
483
355
  */
484
356
 
485
357
  input[type="search"] {
486
- -webkit-appearance: textfield; // 1
487
- -moz-box-sizing: content-box;
488
- -webkit-box-sizing: content-box; // 2
489
- box-sizing: content-box;
358
+ -webkit-appearance: textfield; /* 1 */
359
+ -moz-box-sizing: content-box;
360
+ -webkit-box-sizing: content-box; /* 2 */
361
+ box-sizing: content-box;
490
362
  }
491
363
 
492
364
  /**
493
- * Remove inner padding and search cancel button in Safari 5 and Chrome
494
- * on OS X.
365
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
366
+ * Safari (but not Chrome) clips the cancel button when the search input has
367
+ * padding (and `textfield` appearance).
495
368
  */
496
369
 
497
370
  input[type="search"]::-webkit-search-cancel-button,
498
371
  input[type="search"]::-webkit-search-decoration {
499
- -webkit-appearance: none;
372
+ -webkit-appearance: none;
500
373
  }
501
374
 
502
375
  /**
503
- * Remove inner padding and border in Firefox 3+.
376
+ * Define consistent border, margin, and padding.
504
377
  */
505
378
 
506
- button::-moz-focus-inner,
507
- input::-moz-focus-inner {
508
- border: 0;
509
- padding: 0;
379
+ fieldset {
380
+ border: 1px solid #c0c0c0;
381
+ margin: 0 2px;
382
+ padding: 0.35em 0.625em 0.75em;
383
+ }
384
+
385
+ /**
386
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
387
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
388
+ */
389
+
390
+ legend {
391
+ border: 0; /* 1 */
392
+ padding: 0; /* 2 */
510
393
  }
511
394
 
512
395
  /**
513
- * 1. Remove default vertical scrollbar in IE 6/7/8/9.
514
- * 2. Improve readability and alignment in all browsers.
396
+ * Remove default vertical scrollbar in IE 8/9/10/11.
515
397
  */
516
398
 
517
399
  textarea {
518
- overflow: auto; // 1
519
- vertical-align: top; // 2
400
+ overflow: auto;
401
+ }
402
+
403
+ /**
404
+ * Don't inherit the `font-weight` (applied by a rule above).
405
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406
+ */
407
+
408
+ optgroup {
409
+ font-weight: bold;
520
410
  }
521
411
 
522
- /* ==========================================================================
523
- Tables
412
+ /* Tables
524
413
  ========================================================================== */
525
414
 
526
415
  /**
@@ -528,6 +417,11 @@ textarea {
528
417
  */
529
418
 
530
419
  table {
531
- border-collapse: collapse;
532
- border-spacing: 0;
420
+ border-collapse: collapse;
421
+ border-spacing: 0;
422
+ }
423
+
424
+ td,
425
+ th {
426
+ padding: 0;
533
427
  }