]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Remove IE9 browser hacks. (#21393)
authorBardi Harborow <bardi@bardiharborow.com>
Thu, 22 Dec 2016 21:41:31 +0000 (08:41 +1100)
committerMark Otto <markd.otto@gmail.com>
Thu, 22 Dec 2016 21:41:31 +0000 (13:41 -0800)
12 files changed:
Gruntfile.js
docs/components/buttons.md
docs/components/forms.md
docs/content/reboot.md
scss/_custom-forms.scss
scss/_dropdown.scss
scss/_mixins.scss
scss/_progress.scss
scss/_tables.scss
scss/mixins/_gradients.scss
scss/mixins/_progress.scss
scss/mixins/_reset-filter.scss [deleted file]

index 9580da782ed13e192ce5478e29149c967e3b2d60..91a7288606dd09390a306737f8390637d0dbd639 100644 (file)
@@ -163,7 +163,6 @@ module.exports = function (grunt) {
 
     cssmin: {
       options: {
-        compatibility: 'ie10,-properties.zeroUnits',
         sourceMap: true,
         // sourceMapInlineSources: true,
         advanced: false
index 02b14f913abdca12872635875be650ac11c11486..fdec395deb306ef60f92ba3689dce5c0d003bbaf 100644 (file)
@@ -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>
index 4d2282d3f904be2f76545f617bdb51c7b8143783..f40d79fcef0655eea3f499155bc278b6befca4cb 100644 (file)
@@ -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.
index e37f23d7d064d079eb4713e69759d705611e58c0..08ad15a6aceb64e7195bd7649a98f8398d2784e2 100644 (file)
@@ -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>
index 51ca5406b5cfffd11d6361f19413381d8c2ca06b..1d74bc5f4105d66d910dc2e7a7e3609438b193ae 100644 (file)
 // 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;
   $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);
index 1f37acef29261acf2b55993c5ca18ca6b49bf74d..5f72c9ba44841bccc6a4252f3c5b104ee28e7186 100644 (file)
       cursor: $cursor-disabled;
       background-color: transparent;
       background-image: none; // Remove CSS gradient
-      @include reset-filter();
     }
   }
 }
index 0442b763db3a154f82a6c807890fdd074117da2d..19bf4d41f3949048a13d51a48c778b60b8f0fc51 100644 (file)
@@ -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";
index 8b0225e9a8a36bf6276c10e429ae131c05e22c25..800138cdc2677f3952f7fde160807982574b2c34 100644 (file)
@@ -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;
-  }
-}
 
 
 //
index 19106f8bfbc8d49dc0ec0be13a8f19e13d5ed263..e6894cfedf16e9659c3921845ddf9e3bc0796b33 100644 (file)
 .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
 
index ac96efe2d2a98a4641c7f9ff4d1fd3bb17ab728e..ebe797aa703cfc5a9aa6d5db42ebf4279a558dd9 100644 (file)
@@ -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) {
 @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);
-}
\ No newline at end of file
+}
index 9622d790b2521d3fc3cc32117b4a1fd6393cfd30..5674679867411c3a292b913b284c966e55b34953 100644 (file)
   &[value]::-ms-fill {
     background-color: $color;
   }
-
-  // IE9
-  @media screen and (min-width:0\0) {
-    .progress-bar {
-      background-color: $color;
-    }
-  }
 }
diff --git a/scss/mixins/_reset-filter.scss b/scss/mixins/_reset-filter.scss
deleted file mode 100644 (file)
index 044b349..0000000
+++ /dev/null
@@ -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)";
-}