mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-19 16:54:24 +01:00
Remove IE9 browser hacks. (#21393)
This commit is contained in:
parent
b01f5a1a38
commit
855a67b1d6
@ -163,7 +163,6 @@ module.exports = function (grunt) {
|
||||
|
||||
cssmin: {
|
||||
options: {
|
||||
compatibility: 'ie10,-properties.zeroUnits',
|
||||
sourceMap: true,
|
||||
// sourceMapInlineSources: true,
|
||||
advanced: false
|
||||
|
@ -105,10 +105,6 @@ Buttons will appear pressed (with a darker background, darker border, and inset
|
||||
|
||||
Make buttons look inactive by adding the `disabled` boolean attribute to any `<button>` element.
|
||||
|
||||
{% callout info %}
|
||||
**Heads up!** IE9 and below render disabled buttons with gray, shadowed text that we can't override.
|
||||
{% endcallout %}
|
||||
|
||||
{% example html %}
|
||||
<button type="button" class="btn btn-lg btn-primary" disabled>Primary button</button>
|
||||
<button type="button" class="btn btn-secondary btn-lg" disabled>Button</button>
|
||||
|
@ -933,8 +933,6 @@ Custom `<select>` menus need only a custom class, `.custom-select` to trigger th
|
||||
</select>
|
||||
{% endexample %}
|
||||
|
||||
Custom selects degrade nicely in IE9, receiving only a handful of overrides to remove the custom `background-image`. **Multiple selects (e.g., `<select multiple>`) are not currently supported.**
|
||||
|
||||
### File browser
|
||||
|
||||
The file input is the most gnarly of the bunch and require additional JavaScript if you'd like to hook them up with functional *Choose file...* and selected file name text.
|
||||
|
@ -311,7 +311,7 @@ The `<abbr>` element receives basic styling to make it stand out amongst paragra
|
||||
|
||||
## HTML5 `[hidden]` attribute
|
||||
|
||||
HTML5 adds [a new global attribute named `[hidden]`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden), which is styled as `display: none` by default. Borrowing an idea from [PureCSS](http://purecss.io), we improve upon this default by making `[hidden] { display: none !important; }` to help prevent its `display` from getting accidentally overridden. While `[hidden]` isn't natively supported by IE9-10, the explicit declaration in our CSS gets around that problem.
|
||||
HTML5 adds [a new global attribute named `[hidden]`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden), which is styled as `display: none` by default. Borrowing an idea from [PureCSS](http://purecss.io), we improve upon this default by making `[hidden] { display: none !important; }` to help prevent its `display` from getting accidentally overridden. While `[hidden]` isn't natively supported by IE10, the explicit declaration in our CSS gets around that problem.
|
||||
|
||||
{% highlight html %}
|
||||
<input type="text" hidden>
|
||||
|
@ -131,8 +131,6 @@
|
||||
// Replaces the browser default select with a custom one, mostly pulled from
|
||||
// http://primercss.io.
|
||||
//
|
||||
// Includes hacks for IE9 (noted by ` \9`), which may apply to other versions of
|
||||
// IE, but not with any adverse affects.
|
||||
|
||||
.custom-select {
|
||||
display: inline-block;
|
||||
@ -140,11 +138,9 @@
|
||||
$select-border-width: ($border-width * 2);
|
||||
height: calc(#{$input-height} - #{$select-border-width});
|
||||
padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
|
||||
padding-right: $custom-select-padding-x \9;
|
||||
color: $custom-select-color;
|
||||
vertical-align: middle;
|
||||
background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;
|
||||
background-image: none \9;
|
||||
background-size: $custom-select-bg-size;
|
||||
border: $custom-select-border-width solid $custom-select-border-color;
|
||||
@include border-radius($custom-select-border-radius);
|
||||
|
@ -105,7 +105,6 @@
|
||||
cursor: $cursor-disabled;
|
||||
background-color: transparent;
|
||||
background-image: none; // Remove CSS gradient
|
||||
@include reset-filter();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
@import "mixins/hover";
|
||||
@import "mixins/image";
|
||||
@import "mixins/badge";
|
||||
@import "mixins/reset-filter";
|
||||
@import "mixins/resize";
|
||||
@import "mixins/screen-reader";
|
||||
@import "mixins/size";
|
||||
|
@ -54,21 +54,6 @@ base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make thes
|
||||
@include box-shadow($progress-box-shadow);
|
||||
}
|
||||
|
||||
// IE9 hacks to accompany custom markup. We don't need to scope this via media queries, but I feel better doing it anyway.
|
||||
@media screen and (min-width:0\0) {
|
||||
.progress {
|
||||
background-color: $progress-bg;
|
||||
@include border-radius($progress-border-radius);
|
||||
@include box-shadow($progress-box-shadow);
|
||||
}
|
||||
.progress-bar {
|
||||
display: inline-block;
|
||||
height: $spacer-y;
|
||||
text-indent: -999rem; // Simulate hiding of value as in native `<progress>`
|
||||
background-color: $progress-bar-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Striped
|
||||
@ -86,13 +71,6 @@ base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make thes
|
||||
@include gradient-striped();
|
||||
background-size: $spacer-y $spacer-y;
|
||||
}
|
||||
// IE9
|
||||
@media screen and (min-width:0\0) {
|
||||
.progress-bar-striped {
|
||||
@include gradient-striped();
|
||||
background-size: $spacer-y $spacer-y;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
@ -105,12 +83,6 @@ base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make thes
|
||||
.progress-animated[value]::-moz-progress-bar {
|
||||
animation: progress-bar-stripes 2s linear infinite;
|
||||
}
|
||||
// IE9
|
||||
@media screen and (min-width:0\0) {
|
||||
.progress-animated .progress-bar-striped {
|
||||
animation: progress-bar-stripes 2s linear infinite;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
|
@ -143,7 +143,6 @@
|
||||
.table-responsive {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-height: 0%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
|
||||
overflow-x: auto;
|
||||
-ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
|
||||
|
||||
|
@ -3,11 +3,9 @@
|
||||
// Horizontal gradient, from left to right
|
||||
//
|
||||
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
||||
// Color stops are not available in IE9.
|
||||
@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
||||
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9
|
||||
}
|
||||
|
||||
// Vertical gradient, from top to bottom
|
||||
@ -17,7 +15,6 @@
|
||||
@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
||||
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9
|
||||
}
|
||||
|
||||
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
|
||||
@ -27,12 +24,10 @@
|
||||
@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
||||
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
||||
background-repeat: no-repeat;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 gets no color-stop at all for proper fallback
|
||||
}
|
||||
@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
||||
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
||||
background-repeat: no-repeat;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 gets no color-stop at all for proper fallback
|
||||
}
|
||||
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
|
||||
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
||||
@ -40,4 +35,4 @@
|
||||
}
|
||||
@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
|
||||
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
||||
}
|
||||
}
|
||||
|
@ -13,11 +13,4 @@
|
||||
&[value]::-ms-fill {
|
||||
background-color: $color;
|
||||
}
|
||||
|
||||
// IE9
|
||||
@media screen and (min-width:0\0) {
|
||||
.progress-bar {
|
||||
background-color: $color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +0,0 @@
|
||||
// Reset filters for IE
|
||||
//
|
||||
// When you need to remove a gradient background, do not forget to use this to reset
|
||||
// the IE filter for IE9.
|
||||
|
||||
@mixin reset-filter() {
|
||||
filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)";
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user