piecss 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,18 +21,21 @@
21
21
  *,
22
22
  *:before,
23
23
  *:after {
24
+ @if $reset-box-model {
24
25
  box-sizing: border-box; /* 1 */
25
26
  margin: 0; /* 2 */
26
- // vertical-align: bottom; this conflicts with radio buttons /* 3 */
27
- vertical-align: baseline;
27
+ vertical-align: bottom;
28
+ }
28
29
  }
29
30
 
31
+
30
32
  /*
31
33
  * 1. Set base font (family, size, line-height) for conversions to rem and/or em.
32
34
  * 2. Set default font family to sans-serif.
33
35
  * 3. Prevent iOS text size adjust after orientation change, without disabling
34
36
  * user zoom.
35
37
  * 4. Set background color.
38
+ * 5. Set body color.
36
39
  */
37
40
 
38
41
  html {
@@ -46,6 +49,7 @@ html {
46
49
  $line-height: to-unit($default-line-height, $line-height-unit);
47
50
 
48
51
  font: #{$font-style} #{$font-variant} #{$font-weight} #{$font-size}/#{$line-height} #{$font-family}; /* 1, 2 */
52
+ color: $color-body; /* 5 */
49
53
 
50
54
  text-size-adjust: 100%; /* 3 */
51
55
  width: 100%; /* 3 */
@@ -57,7 +61,7 @@ html {
57
61
  * Remove default margin.
58
62
  */
59
63
 
60
- body {
64
+ #{implode($reset-margin ", ")} {
61
65
  margin: 0;
62
66
  }
63
67
 
@@ -82,7 +86,9 @@ main,
82
86
  nav,
83
87
  section,
84
88
  summary {
85
- display: block;
89
+ @if $normalize-block-display {
90
+ display: block;
91
+ }
86
92
  }
87
93
 
88
94
  /*
@@ -127,8 +133,19 @@ template {
127
133
  */
128
134
 
129
135
  a {
130
- background: transparent;
131
- color: $color-anchor;
136
+ @if $normalize-anchor {
137
+ background: transparent; /* 1 */
138
+ }
139
+ color: $color-anchor; /* 2 */
140
+ &:visited {
141
+ color: $color-anchor--visited; /* 2 */
142
+ }
143
+ &:active {
144
+ color: $color-anchor--active; /* 2 */
145
+ }
146
+ &:hover {
147
+ color: $color-anchor--hover; /* 2 */
148
+ }
132
149
  }
133
150
 
134
151
  /*
@@ -137,7 +154,9 @@ a {
137
154
 
138
155
  a:active,
139
156
  a:hover {
140
- outline: 0;
157
+ @if $normalize-anchor {
158
+ outline: 0;
159
+ }
141
160
  }
142
161
 
143
162
  /* Text-level semantics
@@ -148,35 +167,53 @@ a:hover {
148
167
  */
149
168
 
150
169
  abbr[title] {
151
- border-bottom: 1px dotted;
170
+ @if $normalize-abbr {
171
+ border-bottom: 1px dotted;
172
+ }
152
173
  }
153
174
 
154
175
  /*
155
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
176
+ * Address variable `h1` font-size and margin within `section` and `article`
177
+ * contexts in Firefox 4+, Safari, and Chrome.
156
178
  */
157
179
 
158
- b,
159
- strong {
160
- font-weight: bold;
180
+ h1 {
181
+ @if $normalize-h1 and index($reset-font, "h1")==0 {
182
+ font-size: $h1-font-size;
183
+ line-height: $h1-line-height;
184
+ }
161
185
  }
162
186
 
163
187
  /*
164
- * Address styling not present in Safari and Chrome.
188
+ * Reset or normalize font-weights.
165
189
  */
166
190
 
167
- dfn {
168
- font-style: italic;
191
+ @if length($reset-font-weight-to-bold)>0 {
192
+ #{implode($reset-font-weight-to-bold, ", ")} {
193
+ font-weight: bold;
194
+ }
195
+ }
196
+
197
+ @if length($reset-font-weight-to-italic)>0 {
198
+ #{implode($reset-font-weight-to-italic, ", ")} {
199
+ font-weight: italic;
200
+ }
201
+ }
202
+
203
+ @if length($reset-font-weight-to-regular)>0 {
204
+ #{implode($reset-font-weight-to-regular, ", ")} {
205
+ font-weight: regular;
206
+ }
169
207
  }
170
208
 
171
209
  /*
172
- * Address variable `h1` font-size and margin within `section` and `article`
173
- * contexts in Firefox 4+, Safari, and Chrome.
210
+ * Full typographic reset
174
211
  */
175
212
 
176
- h1 {
177
- font-size: to-unit(32px);
178
- @include line-height(32px);
179
- margin: 0;
213
+ @if length($reset-font)>0 {
214
+ #{implode($reset-font ", ")} {
215
+ font: inherit;
216
+ }
180
217
  }
181
218
 
182
219
  /*
@@ -184,8 +221,10 @@ h1 {
184
221
  */
185
222
 
186
223
  mark {
187
- background: #ff0;
188
- color: #000;
224
+ @if $normalize-mark {
225
+ background: $mark-background;
226
+ color: $mark-color;
227
+ }
189
228
  }
190
229
 
191
230
  /*
@@ -193,7 +232,9 @@ mark {
193
232
  */
194
233
 
195
234
  small {
196
- font-size: 80%;
235
+ @if $normalize-small {
236
+ font-size: $small-font-size;
237
+ }
197
238
  }
198
239
 
199
240
  /*
@@ -202,18 +243,24 @@ small {
202
243
 
203
244
  sub,
204
245
  sup {
205
- font-size: 75%;
206
- line-height: 0;
207
- position: relative;
208
- vertical-align: baseline;
246
+ @if $normalize-sup-sub {
247
+ font-size: $sup-sub-font-size;
248
+ line-height: 0;
249
+ position: relative;
250
+ vertical-align: baseline;
251
+ }
209
252
  }
210
253
 
211
254
  sup {
212
- top: -0.5em;
255
+ @if $normalize-sup-sub {
256
+ top: $sup-offset-top;
257
+ }
213
258
  }
214
259
 
215
260
  sub {
216
- bottom: -0.25em;
261
+ @if $normalize-sup-sub {
262
+ bottom: $sub-offset-bottom;
263
+ }
217
264
  }
218
265
 
219
266
  /* Embedded content
@@ -224,7 +271,9 @@ sub {
224
271
  */
225
272
 
226
273
  img {
227
- border: 0;
274
+ @if $normalize-img-border {
275
+ border: 0;
276
+ }
228
277
  }
229
278
 
230
279
  /*
@@ -232,7 +281,9 @@ img {
232
281
  */
233
282
 
234
283
  svg:not(:root) {
235
- overflow: hidden;
284
+ @if $normalize-svg {
285
+ overflow: hidden;
286
+ }
236
287
  }
237
288
 
238
289
  /* Grouping content
@@ -243,7 +294,9 @@ svg:not(:root) {
243
294
  */
244
295
 
245
296
  figure {
246
- margin: 1em 40px;
297
+ @if $normalize-figure-margin {
298
+ margin: $figure-margin;
299
+ }
247
300
  }
248
301
 
249
302
  /*
@@ -251,8 +304,10 @@ figure {
251
304
  */
252
305
 
253
306
  hr {
254
- box-sizing: content-box;
255
- height: 0;
307
+ @if $normalize-horizontal-rule {
308
+ box-sizing: content-box;
309
+ height: 0;
310
+ }
256
311
  }
257
312
 
258
313
  /*
@@ -260,7 +315,10 @@ hr {
260
315
  */
261
316
 
262
317
  pre {
263
- overflow: auto;
318
+ white-space: pre-wrap;
319
+ @if $normalize-pre-overflow {
320
+ overflow: auto;
321
+ }
264
322
  }
265
323
 
266
324
  /*
@@ -271,10 +329,15 @@ code,
271
329
  kbd,
272
330
  pre,
273
331
  samp {
274
- font-family: monospace, monospace;
275
- font-size: 1em;
332
+ @if $reset-monospace-elements {
333
+ font-family: $monospace-elements-font-family;
334
+ }
335
+ @if $normalize-monospace-elements {
336
+ font-size: $monospace-elements-font-size;
337
+ }
276
338
  }
277
339
 
340
+
278
341
  /* Forms
279
342
  ========================================================================== */
280
343
 
@@ -286,8 +349,6 @@ samp {
286
349
  /*
287
350
  * 1. Correct color not being inherited.
288
351
  * Known issue: affects color of disabled elements.
289
- * 2. Correct font properties not being inherited.
290
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
291
352
  */
292
353
 
293
354
  button,
@@ -295,9 +356,9 @@ input,
295
356
  optgroup,
296
357
  select,
297
358
  textarea {
298
- color: inherit; /* 1 */
299
- font: inherit; /* 2 */
300
- margin: 0; /* 3 */
359
+ @if $normalize-form-elements {
360
+ color: inherit; /* 1 */
361
+ }
301
362
  }
302
363
 
303
364
  /*
@@ -305,7 +366,9 @@ textarea {
305
366
  */
306
367
 
307
368
  button {
308
- overflow: visible;
369
+ @if $normalize-form-elements {
370
+ overflow: visible;
371
+ }
309
372
  }
310
373
 
311
374
  /*
@@ -317,7 +380,9 @@ button {
317
380
 
318
381
  button,
319
382
  select {
320
- text-transform: none;
383
+ @if $normalize-form-elements {
384
+ text-transform: none;
385
+ }
321
386
  }
322
387
 
323
388
  /*
@@ -332,8 +397,10 @@ button,
332
397
  html input[type="button"], /* 1 */
333
398
  input[type="reset"],
334
399
  input[type="submit"] {
335
- @include reset-appearance(button); /* 2 */
336
- cursor: pointer; /* 3 */
400
+ @if $normalize-form-elements {
401
+ appearance: button; /* 2 */
402
+ cursor: pointer; /* 3 */
403
+ }
337
404
  }
338
405
 
339
406
  /*
@@ -342,7 +409,9 @@ input[type="submit"] {
342
409
 
343
410
  button[disabled],
344
411
  html input[disabled] {
345
- cursor: default;
412
+ @if $normalize-form-elements {
413
+ cursor: default;
414
+ }
346
415
  }
347
416
 
348
417
  /*
@@ -351,8 +420,10 @@ html input[disabled] {
351
420
 
352
421
  button::-moz-focus-inner,
353
422
  input::-moz-focus-inner {
354
- border: 0;
355
- padding: 0;
423
+ @if $normalize-form-elements {
424
+ border: 0;
425
+ padding: 0;
426
+ }
356
427
  }
357
428
 
358
429
  /*
@@ -361,7 +432,9 @@ input::-moz-focus-inner {
361
432
  */
362
433
 
363
434
  input {
364
- line-height: normal;
435
+ @if $normalize-form-elements {
436
+ line-height: normal;
437
+ }
365
438
  }
366
439
 
367
440
  /*
@@ -370,12 +443,16 @@ input {
370
443
  *
371
444
  * 1. Address box sizing set to `content-box` in IE 8/9/10.
372
445
  * 2. Remove excess padding in IE 8/9/10.
446
+ * 3. Counter reset bottom alignment in box-model reset.
373
447
  */
374
448
 
375
449
  input[type="checkbox"],
376
450
  input[type="radio"] {
377
- box-sizing: border-box; /* 1 */
378
- padding: 0; /* 2 */
451
+ @if $normalize-form-elements {
452
+ box-sizing: border-box; /* 1 */
453
+ padding: 0; /* 2 */
454
+ vertical-align: baseline; /* 3 */
455
+ }
379
456
  }
380
457
 
381
458
  /*
@@ -386,7 +463,9 @@ input[type="radio"] {
386
463
 
387
464
  input[type="number"]::-webkit-inner-spin-button,
388
465
  input[type="number"]::-webkit-outer-spin-button {
389
- height: auto;
466
+ @if $normalize-form-elements {
467
+ height: auto;
468
+ }
390
469
  }
391
470
 
392
471
  /*
@@ -396,8 +475,9 @@ input[type="number"]::-webkit-outer-spin-button {
396
475
  */
397
476
 
398
477
  input[type="search"] {
399
- @include reset-appearance(textfield); /* 1 */
400
- // is already set in wildcard rule /* 2 */
478
+ @if $normalize-form-elements {
479
+ appearance: textfield; /* 1 */
480
+ }
401
481
  }
402
482
 
403
483
  /*
@@ -408,7 +488,9 @@ input[type="search"] {
408
488
 
409
489
  input[type="search"]::-webkit-search-cancel-button,
410
490
  input[type="search"]::-webkit-search-decoration {
411
- @include reset-appearance(none);
491
+ @if $normalize-form-elements {
492
+ appearance: none;
493
+ }
412
494
  }
413
495
 
414
496
  /*
@@ -416,9 +498,11 @@ input[type="search"]::-webkit-search-decoration {
416
498
  */
417
499
 
418
500
  fieldset {
419
- border: 1px solid #c0c0c0;
420
- margin: 0 2px;
421
- padding: 0.35em 0.625em 0.75em;
501
+ @if $normalize-fieldset {
502
+ border: $fieldset-border;
503
+ margin: $fieldset-margin;
504
+ padding: $fieldset-padding;
505
+ }
422
506
  }
423
507
 
424
508
  /*
@@ -427,8 +511,10 @@ fieldset {
427
511
  */
428
512
 
429
513
  legend {
430
- border: 0; /* 1 */
431
- padding: 0; /* 2 */
514
+ @if $normalize-legend {
515
+ border: 0; /* 1 */
516
+ padding: 0; /* 2 */
517
+ }
432
518
  }
433
519
 
434
520
  /*
@@ -436,17 +522,11 @@ legend {
436
522
  */
437
523
 
438
524
  textarea {
439
- overflow: auto;
525
+ @if $normalize-textarea {
526
+ overflow: auto;
527
+ }
440
528
  }
441
529
 
442
- /*
443
- * Don't inherit the `font-weight` (applied by a rule above).
444
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
445
- */
446
-
447
- optgroup {
448
- font-weight: bold;
449
- }
450
530
 
451
531
  /* Tables
452
532
  ========================================================================== */
@@ -456,65 +536,37 @@ optgroup {
456
536
  */
457
537
 
458
538
  table {
459
- border-collapse: collapse;
460
- border-spacing: 0;
539
+ @if $reset-table {
540
+ border-collapse: collapse;
541
+ border-spacing: 0;
542
+ }
461
543
  }
462
544
 
463
545
  td,
464
546
  th {
465
- padding: 0;
547
+ @if $reset-table {
548
+ padding: 0;
549
+ }
466
550
  }
467
551
 
468
-
469
- // Copyright (C) 2014 Babs Gösgens. Licensed under MIT; see LICENSE.txt
470
-
471
-
472
552
  /*
473
- -----------------------------------------------------------------------------
474
- Miscellaneous - consider movin to reset
475
- -----------------------------------------------------------------------------
476
- */
553
+ * Set consistent quote types.
554
+ */
477
555
 
478
- abbr[title] {
479
- border-bottom: 1px dotted;
480
- }
481
- hr {
482
- height: 0;
483
- }
484
- code,
485
- kbd,
486
- pre,
487
- samp {
488
- @include font-family($monospace-regular);
489
- font-size: to-unit($default-font-size);
490
- }
491
- pre {
492
- white-space: pre-wrap;
493
- }
494
- small {
495
- font-size: 80%;
496
- }
497
- sub,
498
- sup {
499
- font-size: 75%;
500
- line-height: 0;
501
- position: relative;
502
- vertical-align: baseline;
503
- }
504
- sup {
505
- top: -0.5em;
506
- }
507
- sub {
508
- bottom: -0.25em;
556
+ q {
557
+ @if $normalize-quote-quotes
558
+ {
559
+ quotes: "\201C" "\201D" "\2018" "\2019";
560
+ }
509
561
  }
510
562
 
511
- @if $base-quote-quotes
512
- {
513
- /*
514
- * Set consistent quote types.
515
- */
563
+ /*
564
+ * Apply a bottom margin of one line-height to any element in this comma
565
+ * separated list.
566
+ */
516
567
 
517
- q {
518
- quotes: "\201C" "\201D" "\2018" "\2019";
519
- }
568
+ @if length($single-direction-elements)>0 {
569
+ #{implode($single-direction-elements, ", ")} {
570
+ margin: 0 0 $default-line-height;
571
+ }
520
572
  }