bootstrap 4.0.0.beta → 4.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile +1 -1
- data/README.md +10 -43
- data/Rakefile +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +5 -5
- data/assets/javascripts/bootstrap.js +1561 -1542
- data/assets/javascripts/bootstrap.min.js +6 -5
- data/assets/javascripts/bootstrap/alert.js +31 -38
- data/assets/javascripts/bootstrap/button.js +23 -30
- data/assets/javascripts/bootstrap/carousel.js +72 -81
- data/assets/javascripts/bootstrap/collapse.js +72 -68
- data/assets/javascripts/bootstrap/dropdown.js +97 -85
- data/assets/javascripts/bootstrap/modal.js +104 -101
- data/assets/javascripts/bootstrap/popover.js +55 -68
- data/assets/javascripts/bootstrap/scrollspy.js +63 -68
- data/assets/javascripts/bootstrap/tab.js +54 -49
- data/assets/javascripts/bootstrap/tooltip.js +102 -116
- data/assets/javascripts/bootstrap/util.js +20 -30
- data/assets/stylesheets/_bootstrap-grid.scss +7 -9
- data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
- data/assets/stylesheets/_bootstrap.scss +2 -1
- data/assets/stylesheets/bootstrap/_alert.scss +4 -3
- data/assets/stylesheets/bootstrap/_badge.scss +1 -2
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -4
- data/assets/stylesheets/bootstrap/_button-group.scss +33 -24
- data/assets/stylesheets/bootstrap/_buttons.scss +24 -29
- data/assets/stylesheets/bootstrap/_card.scss +58 -22
- data/assets/stylesheets/bootstrap/_carousel.scss +6 -0
- data/assets/stylesheets/bootstrap/_close.scss +2 -2
- data/assets/stylesheets/bootstrap/_custom-forms.scss +11 -8
- data/assets/stylesheets/bootstrap/_dropdown.scss +16 -41
- data/assets/stylesheets/bootstrap/_forms.scss +12 -44
- data/assets/stylesheets/bootstrap/_functions.scss +6 -10
- data/assets/stylesheets/bootstrap/_grid.scss +0 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +17 -7
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +12 -1
- data/assets/stylesheets/bootstrap/_nav.scss +5 -5
- data/assets/stylesheets/bootstrap/_navbar.scss +27 -5
- data/assets/stylesheets/bootstrap/_pagination.scss +2 -4
- data/assets/stylesheets/bootstrap/_popover.scss +16 -17
- data/assets/stylesheets/bootstrap/_print.scss +2 -3
- data/assets/stylesheets/bootstrap/_progress.scss +4 -6
- data/assets/stylesheets/bootstrap/_reboot.scss +39 -16
- data/assets/stylesheets/bootstrap/_root.scss +19 -0
- data/assets/stylesheets/bootstrap/_tables.scss +40 -28
- data/assets/stylesheets/bootstrap/_tooltip.scss +6 -6
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
- data/assets/stylesheets/bootstrap/_type.scss +2 -0
- data/assets/stylesheets/bootstrap/_variables.scss +467 -476
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +18 -4
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +27 -16
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +35 -0
- data/assets/stylesheets/bootstrap/mixins/_float.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +31 -4
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +14 -1
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +10 -5
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +13 -12
- data/assets/stylesheets/bootstrap/mixins/_image.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +0 -2
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -2
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_align.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_background.scss +16 -3
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +5 -3
- data/assets/stylesheets/bootstrap/utilities/_display.scss +3 -0
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +12 -1
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +24 -14
- data/assets/stylesheets/bootstrap/utilities/_text.scss +7 -4
- data/bootstrap.gemspec +2 -3
- data/lib/bootstrap.rb +0 -16
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +31 -4
- data/tasks/updater/scss.rb +0 -12
- data/test/dummy_rails/config/application.rb +0 -1
- metadata +16 -27
- data/templates/project/_bootstrap-variables.scss +0 -834
- data/templates/project/manifest.rb +0 -18
- data/templates/project/styles.scss +0 -10
- data/test/compass_test.rb +0 -14
@@ -1,3 +1,5 @@
|
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
2
|
+
|
1
3
|
//
|
2
4
|
// Base styles
|
3
5
|
//
|
@@ -5,6 +7,7 @@
|
|
5
7
|
.input-group {
|
6
8
|
position: relative;
|
7
9
|
display: flex;
|
10
|
+
align-items: stretch;
|
8
11
|
width: 100%;
|
9
12
|
|
10
13
|
.form-control {
|
@@ -28,10 +31,8 @@
|
|
28
31
|
.input-group-addon,
|
29
32
|
.input-group-btn,
|
30
33
|
.input-group .form-control {
|
31
|
-
// Vertically centers the content of the addons within the input group
|
32
34
|
display: flex;
|
33
35
|
align-items: center;
|
34
|
-
|
35
36
|
&:not(:first-child):not(:last-child) {
|
36
37
|
@include border-radius(0);
|
37
38
|
}
|
@@ -40,7 +41,6 @@
|
|
40
41
|
.input-group-addon,
|
41
42
|
.input-group-btn {
|
42
43
|
white-space: nowrap;
|
43
|
-
vertical-align: middle; // Match the inputs
|
44
44
|
}
|
45
45
|
|
46
46
|
|
@@ -71,7 +71,7 @@
|
|
71
71
|
font-size: $font-size-base; // Match inputs
|
72
72
|
font-weight: $font-weight-normal;
|
73
73
|
line-height: $input-btn-line-height;
|
74
|
-
color: $input-color;
|
74
|
+
color: $input-group-addon-color;
|
75
75
|
text-align: center;
|
76
76
|
background-color: $input-group-addon-bg;
|
77
77
|
border: $input-btn-border-width solid $input-group-addon-border-color;
|
@@ -90,13 +90,11 @@
|
|
90
90
|
@include border-radius($input-border-radius-lg);
|
91
91
|
}
|
92
92
|
|
93
|
-
// scss-lint:disable QualifyingElement
|
94
93
|
// Nuke default margins from checkboxes and radios to vertically center within.
|
95
94
|
input[type="radio"],
|
96
95
|
input[type="checkbox"] {
|
97
96
|
margin-top: 0;
|
98
97
|
}
|
99
|
-
// scss-lint:enable QualifyingElement
|
100
98
|
}
|
101
99
|
|
102
100
|
|
@@ -135,6 +133,7 @@
|
|
135
133
|
|
136
134
|
.input-group-btn {
|
137
135
|
position: relative;
|
136
|
+
align-items: stretch;
|
138
137
|
// Jankily prevent input button groups from wrapping with `white-space` and
|
139
138
|
// `font-size` in combination with `inline-block` on buttons.
|
140
139
|
font-size: 0;
|
@@ -155,6 +154,10 @@
|
|
155
154
|
}
|
156
155
|
}
|
157
156
|
|
157
|
+
&:first-child > .btn + .btn {
|
158
|
+
margin-left: 0;
|
159
|
+
}
|
160
|
+
|
158
161
|
// Negative margin to only have a single, shared border between the two
|
159
162
|
&:not(:last-child) {
|
160
163
|
> .btn,
|
@@ -166,7 +169,14 @@
|
|
166
169
|
> .btn,
|
167
170
|
> .btn-group {
|
168
171
|
z-index: 2;
|
169
|
-
margin
|
172
|
+
// remove nagative margin ($input-btn-border-width) to solve overlapping issue with button.
|
173
|
+
margin-left: 0;
|
174
|
+
|
175
|
+
// When input is first, overlap the right side of it with the button(-group)
|
176
|
+
&:first-child {
|
177
|
+
margin-left: (-$input-btn-border-width);
|
178
|
+
}
|
179
|
+
|
170
180
|
// Because specificity
|
171
181
|
@include hover-focus-active {
|
172
182
|
z-index: 3;
|
@@ -43,6 +43,8 @@
|
|
43
43
|
position: relative;
|
44
44
|
width: auto;
|
45
45
|
margin: $modal-dialog-margin;
|
46
|
+
// allow clicks to pass through for custom click handling to close modal
|
47
|
+
pointer-events: none;
|
46
48
|
}
|
47
49
|
|
48
50
|
// Actual modal
|
@@ -50,6 +52,8 @@
|
|
50
52
|
position: relative;
|
51
53
|
display: flex;
|
52
54
|
flex-direction: column;
|
55
|
+
// counteract the pointer-events: none; in the .modal-dialog
|
56
|
+
pointer-events: auto;
|
53
57
|
background-color: $modal-content-bg;
|
54
58
|
background-clip: padding-box;
|
55
59
|
border: $modal-content-border-width solid $modal-content-border-color;
|
@@ -78,10 +82,17 @@
|
|
78
82
|
// Top section of the modal w/ title and dismiss
|
79
83
|
.modal-header {
|
80
84
|
display: flex;
|
81
|
-
align-items:
|
85
|
+
align-items: flex-start; // so the close btn always stays on the upper right corner
|
82
86
|
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
83
87
|
padding: $modal-header-padding;
|
84
88
|
border-bottom: $modal-header-border-width solid $modal-header-border-color;
|
89
|
+
@include border-top-radius($border-radius-lg);
|
90
|
+
|
91
|
+
.close {
|
92
|
+
padding: $modal-header-padding;
|
93
|
+
// auto on the left force icon to the right even when there is no .modal-title
|
94
|
+
margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;
|
95
|
+
}
|
85
96
|
}
|
86
97
|
|
87
98
|
// Title text within header
|
@@ -74,12 +74,12 @@
|
|
74
74
|
.nav-pills {
|
75
75
|
.nav-link {
|
76
76
|
@include border-radius($nav-pills-border-radius);
|
77
|
+
}
|
77
78
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
}
|
79
|
+
.nav-link.active,
|
80
|
+
.show > .nav-link {
|
81
|
+
color: $nav-pills-link-active-color;
|
82
|
+
background-color: $nav-pills-link-active-bg;
|
83
83
|
}
|
84
84
|
}
|
85
85
|
|
@@ -98,6 +98,7 @@
|
|
98
98
|
// on the `.navbar` parent.
|
99
99
|
.navbar-collapse {
|
100
100
|
flex-basis: 100%;
|
101
|
+
flex-grow: 1;
|
101
102
|
// For always expanded or extra full navbars, ensure content aligns itself
|
102
103
|
// properly vertically. Can be easily overridden with flex utilities.
|
103
104
|
align-items: center;
|
@@ -146,8 +147,7 @@
|
|
146
147
|
}
|
147
148
|
|
148
149
|
@include media-breakpoint-up($next) {
|
149
|
-
flex-
|
150
|
-
flex-wrap: nowrap;
|
150
|
+
flex-flow: row nowrap;
|
151
151
|
justify-content: flex-start;
|
152
152
|
|
153
153
|
.navbar-nav {
|
@@ -174,15 +174,23 @@
|
|
174
174
|
flex-wrap: nowrap;
|
175
175
|
}
|
176
176
|
|
177
|
-
// scss-lint:disable ImportantRule
|
178
177
|
.navbar-collapse {
|
179
|
-
display: flex !important;
|
178
|
+
display: flex !important; // stylelint-disable-line declaration-no-important
|
179
|
+
|
180
|
+
// Changes flex-bases to auto because of an IE10 bug
|
181
|
+
flex-basis: auto;
|
180
182
|
}
|
181
|
-
// scss-lint:enable ImportantRule
|
182
183
|
|
183
184
|
.navbar-toggler {
|
184
185
|
display: none;
|
185
186
|
}
|
187
|
+
|
188
|
+
.dropup {
|
189
|
+
.dropdown-menu {
|
190
|
+
top: auto;
|
191
|
+
bottom: 100%;
|
192
|
+
}
|
193
|
+
}
|
186
194
|
}
|
187
195
|
}
|
188
196
|
}
|
@@ -235,6 +243,13 @@
|
|
235
243
|
|
236
244
|
.navbar-text {
|
237
245
|
color: $navbar-light-color;
|
246
|
+
a {
|
247
|
+
color: $navbar-light-active-color;
|
248
|
+
|
249
|
+
@include hover-focus {
|
250
|
+
color: $navbar-light-active-color;
|
251
|
+
}
|
252
|
+
}
|
238
253
|
}
|
239
254
|
}
|
240
255
|
|
@@ -280,5 +295,12 @@
|
|
280
295
|
|
281
296
|
.navbar-text {
|
282
297
|
color: $navbar-dark-color;
|
298
|
+
a {
|
299
|
+
color: $navbar-dark-active-color;
|
300
|
+
|
301
|
+
@include hover-focus {
|
302
|
+
color: $navbar-dark-active-color;
|
303
|
+
}
|
304
|
+
}
|
283
305
|
}
|
284
306
|
}
|
@@ -1,8 +1,6 @@
|
|
1
1
|
.pagination {
|
2
2
|
display: flex;
|
3
|
-
|
4
|
-
padding-left: 0; // 1
|
5
|
-
list-style: none; // 2
|
3
|
+
@include list-unstyled();
|
6
4
|
@include border-radius();
|
7
5
|
}
|
8
6
|
|
@@ -38,7 +36,7 @@
|
|
38
36
|
position: relative;
|
39
37
|
display: block;
|
40
38
|
padding: $pagination-padding-y $pagination-padding-x;
|
41
|
-
margin-left: -
|
39
|
+
margin-left: -$pagination-border-width;
|
42
40
|
line-height: $pagination-line-height;
|
43
41
|
color: $pagination-color;
|
44
42
|
background-color: $pagination-bg;
|
@@ -5,7 +5,6 @@
|
|
5
5
|
z-index: $zindex-popover;
|
6
6
|
display: block;
|
7
7
|
max-width: $popover-max-width;
|
8
|
-
padding: $popover-inner-padding;
|
9
8
|
// Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
|
10
9
|
// So reset our font and text properties to avoid inheriting weird values.
|
11
10
|
@include reset-text();
|
@@ -39,11 +38,11 @@
|
|
39
38
|
|
40
39
|
.arrow::before {
|
41
40
|
content: "";
|
42
|
-
border-width: $popover-arrow-
|
41
|
+
border-width: $popover-arrow-width;
|
43
42
|
}
|
44
43
|
.arrow::after {
|
45
44
|
content: "";
|
46
|
-
border-width: $popover-arrow-
|
45
|
+
border-width: $popover-arrow-width;
|
47
46
|
}
|
48
47
|
|
49
48
|
// Popover directions
|
@@ -61,14 +60,14 @@
|
|
61
60
|
}
|
62
61
|
|
63
62
|
.arrow::before {
|
64
|
-
bottom: -$popover-arrow-
|
65
|
-
margin-left:
|
63
|
+
bottom: -$popover-arrow-width;
|
64
|
+
margin-left: -$popover-arrow-width;
|
66
65
|
border-top-color: $popover-arrow-outer-color;
|
67
66
|
}
|
68
67
|
|
69
68
|
.arrow::after {
|
70
|
-
bottom:
|
71
|
-
margin-left:
|
69
|
+
bottom: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
|
70
|
+
margin-left: -$popover-arrow-width;
|
72
71
|
border-top-color: $popover-arrow-color;
|
73
72
|
}
|
74
73
|
}
|
@@ -82,17 +81,17 @@
|
|
82
81
|
|
83
82
|
.arrow::before,
|
84
83
|
.arrow::after {
|
85
|
-
margin-top:
|
84
|
+
margin-top: -$popover-arrow-width;
|
86
85
|
border-left-width: 0;
|
87
86
|
}
|
88
87
|
|
89
88
|
.arrow::before {
|
90
|
-
left: -$popover-arrow-
|
89
|
+
left: -$popover-arrow-width;
|
91
90
|
border-right-color: $popover-arrow-outer-color;
|
92
91
|
}
|
93
92
|
|
94
93
|
.arrow::after {
|
95
|
-
left:
|
94
|
+
left: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
|
96
95
|
border-right-color: $popover-arrow-color;
|
97
96
|
}
|
98
97
|
}
|
@@ -106,17 +105,17 @@
|
|
106
105
|
|
107
106
|
.arrow::before,
|
108
107
|
.arrow::after {
|
109
|
-
margin-left:
|
108
|
+
margin-left: -$popover-arrow-width;
|
110
109
|
border-top-width: 0;
|
111
110
|
}
|
112
111
|
|
113
112
|
.arrow::before {
|
114
|
-
top: -$popover-arrow-
|
113
|
+
top: -$popover-arrow-width;
|
115
114
|
border-bottom-color: $popover-arrow-outer-color;
|
116
115
|
}
|
117
116
|
|
118
117
|
.arrow::after {
|
119
|
-
top:
|
118
|
+
top: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
|
120
119
|
border-bottom-color: $popover-arrow-color;
|
121
120
|
}
|
122
121
|
|
@@ -129,7 +128,7 @@
|
|
129
128
|
width: 20px;
|
130
129
|
margin-left: -10px;
|
131
130
|
content: "";
|
132
|
-
border-bottom:
|
131
|
+
border-bottom: $popover-border-width solid $popover-header-bg;
|
133
132
|
}
|
134
133
|
}
|
135
134
|
|
@@ -142,17 +141,17 @@
|
|
142
141
|
|
143
142
|
.arrow::before,
|
144
143
|
.arrow::after {
|
145
|
-
margin-top:
|
144
|
+
margin-top: -$popover-arrow-width;
|
146
145
|
border-right-width: 0;
|
147
146
|
}
|
148
147
|
|
149
148
|
.arrow::before {
|
150
|
-
right: -$popover-arrow-
|
149
|
+
right: -$popover-arrow-width;
|
151
150
|
border-left-color: $popover-arrow-outer-color;
|
152
151
|
}
|
153
152
|
|
154
153
|
.arrow::after {
|
155
|
-
right:
|
154
|
+
right: calc((#{$popover-arrow-width} - #{$popover-border-width}) * -1);
|
156
155
|
border-left-color: $popover-arrow-color;
|
157
156
|
}
|
158
157
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// stylelint-disable declaration-no-important, selector-no-qualifying-type
|
2
2
|
|
3
3
|
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
|
4
4
|
|
@@ -14,8 +14,7 @@
|
|
14
14
|
*::before,
|
15
15
|
*::after {
|
16
16
|
// Bootstrap specific; comment out `color` and `background`
|
17
|
-
//color: #000 !important; // Black prints faster:
|
18
|
-
// http://www.sanbeiji.com/archives/953
|
17
|
+
//color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953
|
19
18
|
text-shadow: none !important;
|
20
19
|
//background: transparent !important;
|
21
20
|
box-shadow: none !important;
|
@@ -5,21 +5,19 @@
|
|
5
5
|
|
6
6
|
.progress {
|
7
7
|
display: flex;
|
8
|
+
height: $progress-height;
|
8
9
|
overflow: hidden; // force rounded corners by cropping it
|
9
10
|
font-size: $progress-font-size;
|
10
|
-
line-height: $progress-height;
|
11
|
-
text-align: center;
|
12
11
|
background-color: $progress-bg;
|
13
12
|
@include border-radius($progress-border-radius);
|
14
|
-
@include box-shadow($progress-box-shadow);
|
15
13
|
}
|
16
14
|
|
17
15
|
.progress-bar {
|
18
|
-
|
19
|
-
|
16
|
+
display: flex;
|
17
|
+
align-items: center;
|
18
|
+
justify-content: center;
|
20
19
|
color: $progress-bar-color;
|
21
20
|
background-color: $progress-bar-bg;
|
22
|
-
@include transition($progress-bar-transition);
|
23
21
|
}
|
24
22
|
|
25
23
|
.progress-bar-striped {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
|
2
2
|
|
3
3
|
// Reboot
|
4
4
|
//
|
@@ -18,8 +18,13 @@
|
|
18
18
|
// we force a non-overlapping, non-auto-hiding scrollbar to counteract.
|
19
19
|
// 6. Change the default tap highlight to be completely transparent in iOS.
|
20
20
|
|
21
|
-
|
21
|
+
*,
|
22
|
+
*::before,
|
23
|
+
*::after {
|
22
24
|
box-sizing: border-box; // 1
|
25
|
+
}
|
26
|
+
|
27
|
+
html {
|
23
28
|
font-family: sans-serif; // 2
|
24
29
|
line-height: 1.15; // 3
|
25
30
|
-webkit-text-size-adjust: 100%; // 4
|
@@ -28,26 +33,26 @@ html {
|
|
28
33
|
-webkit-tap-highlight-color: rgba(0,0,0,0); // 6
|
29
34
|
}
|
30
35
|
|
31
|
-
*,
|
32
|
-
*::before,
|
33
|
-
*::after {
|
34
|
-
box-sizing: inherit; // 1
|
35
|
-
}
|
36
|
-
|
37
36
|
// IE10+ doesn't honor `<meta name="viewport">` in some cases.
|
38
37
|
@at-root {
|
39
|
-
@-ms-viewport {
|
38
|
+
@-ms-viewport {
|
39
|
+
width: device-width;
|
40
|
+
}
|
40
41
|
}
|
41
42
|
|
43
|
+
// stylelint-disable selector-list-comma-newline-after
|
42
44
|
// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
|
43
45
|
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
|
44
46
|
display: block;
|
45
47
|
}
|
48
|
+
// stylelint-enable selector-list-comma-newline-after
|
46
49
|
|
47
50
|
// Body
|
48
51
|
//
|
49
52
|
// 1. Remove the margin in all browsers.
|
50
53
|
// 2. As a best practice, apply a default `background-color`.
|
54
|
+
// 3. Set an explicit initial text-align value so that we can later use the
|
55
|
+
// the `inherit` value on things like `<th>` elements.
|
51
56
|
|
52
57
|
body {
|
53
58
|
margin: 0; // 1
|
@@ -56,6 +61,7 @@ body {
|
|
56
61
|
font-weight: $font-weight-base;
|
57
62
|
line-height: $line-height-base;
|
58
63
|
color: $body-color;
|
64
|
+
text-align: left; // 3
|
59
65
|
background-color: $body-bg; // 2
|
60
66
|
}
|
61
67
|
|
@@ -89,10 +95,12 @@ hr {
|
|
89
95
|
//
|
90
96
|
// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top
|
91
97
|
// margin for easier control within type scales as it avoids margin collapsing.
|
98
|
+
// stylelint-disable selector-list-comma-newline-after
|
92
99
|
h1, h2, h3, h4, h5, h6 {
|
93
100
|
margin-top: 0;
|
94
|
-
margin-bottom:
|
101
|
+
margin-bottom: $headings-margin-bottom;
|
95
102
|
}
|
103
|
+
// stylelint-enable selector-list-comma-newline-after
|
96
104
|
|
97
105
|
// Reset margins on paragraphs
|
98
106
|
//
|
@@ -100,7 +108,7 @@ h1, h2, h3, h4, h5, h6 {
|
|
100
108
|
// bottom margin to use `rem` units instead of `em`.
|
101
109
|
p {
|
102
110
|
margin-top: 0;
|
103
|
-
margin-bottom:
|
111
|
+
margin-bottom: $paragraph-margin-bottom;
|
104
112
|
}
|
105
113
|
|
106
114
|
// Abbreviations
|
@@ -155,10 +163,12 @@ dfn {
|
|
155
163
|
font-style: italic; // Add the correct font style in Android 4.3-
|
156
164
|
}
|
157
165
|
|
166
|
+
// stylelint-disable font-weight-notation
|
158
167
|
b,
|
159
168
|
strong {
|
160
169
|
font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari
|
161
170
|
}
|
171
|
+
// stylelint-enable font-weight-notation
|
162
172
|
|
163
173
|
small {
|
164
174
|
font-size: 80%; // Add the correct font size in all browsers
|
@@ -222,6 +232,7 @@ a:not([href]):not([tabindex]) {
|
|
222
232
|
// Code
|
223
233
|
//
|
224
234
|
|
235
|
+
// stylelint-disable font-family-no-duplicate-names
|
225
236
|
pre,
|
226
237
|
code,
|
227
238
|
kbd,
|
@@ -229,6 +240,7 @@ samp {
|
|
229
240
|
font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.
|
230
241
|
font-size: 1em; // Correct the odd `em` font sizing in all browsers.
|
231
242
|
}
|
243
|
+
// stylelint-enable font-family-no-duplicate-names
|
232
244
|
|
233
245
|
pre {
|
234
246
|
// Remove browser default top margin
|
@@ -237,6 +249,9 @@ pre {
|
|
237
249
|
margin-bottom: 1rem;
|
238
250
|
// Don't allow content to break outside
|
239
251
|
overflow: auto;
|
252
|
+
// We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so
|
253
|
+
// we force a non-overlapping, non-auto-hiding scrollbar to counteract.
|
254
|
+
-ms-overflow-style: scrollbar;
|
240
255
|
}
|
241
256
|
|
242
257
|
|
@@ -270,15 +285,15 @@ svg:not(:root) {
|
|
270
285
|
// DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present.
|
271
286
|
// However, they DO support removing the click delay via `touch-action: manipulation`.
|
272
287
|
// See:
|
273
|
-
// * https://
|
274
|
-
// *
|
288
|
+
// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch
|
289
|
+
// * https://caniuse.com/#feat=css-touch-action
|
275
290
|
// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
|
276
291
|
|
277
292
|
a,
|
278
293
|
area,
|
279
294
|
button,
|
280
295
|
[role="button"],
|
281
|
-
input,
|
296
|
+
input:not([type="range"]),
|
282
297
|
label,
|
283
298
|
select,
|
284
299
|
summary,
|
@@ -304,8 +319,9 @@ caption {
|
|
304
319
|
}
|
305
320
|
|
306
321
|
th {
|
307
|
-
// Matches default `<td>` alignment
|
308
|
-
text-align
|
322
|
+
// Matches default `<td>` alignment by inheriting from the `<body>`, or the
|
323
|
+
// closest parent with a set `text-align`.
|
324
|
+
text-align: inherit;
|
309
325
|
}
|
310
326
|
|
311
327
|
|
@@ -319,6 +335,13 @@ label {
|
|
319
335
|
margin-bottom: .5rem;
|
320
336
|
}
|
321
337
|
|
338
|
+
// Remove the default `border-radius` that macOS Chrome adds.
|
339
|
+
//
|
340
|
+
// Details at https://github.com/twbs/bootstrap/issues/24093
|
341
|
+
button {
|
342
|
+
border-radius: 0;
|
343
|
+
}
|
344
|
+
|
322
345
|
// Work around a Firefox/IE bug where the transparent `button` background
|
323
346
|
// results in a loss of the default `button` focus styles.
|
324
347
|
//
|