compass-h5bp 0.1.2 → 1.0.0

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.
@@ -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
  }