mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
In IE9-11, prevent breadcrumb separator from getting underlined on :hover when not using <ol> markup
Fixes #18733 in IE9-11 Also adds comments to the code explaining this and #18740.
This commit is contained in:
parent
53958dab0b
commit
86caa76f54
1 changed files with 16 additions and 1 deletions
|
@ -10,14 +10,29 @@
|
||||||
.breadcrumb-item {
|
.breadcrumb-item {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
||||||
|
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
||||||
+ .breadcrumb-item::before {
|
+ .breadcrumb-item::before {
|
||||||
display: inline-block;
|
display: inline-block; // Suppress underlining of the separator in modern browsers
|
||||||
padding-right: $breadcrumb-item-padding;
|
padding-right: $breadcrumb-item-padding;
|
||||||
padding-left: $breadcrumb-item-padding;
|
padding-left: $breadcrumb-item-padding;
|
||||||
color: $breadcrumb-divider-color;
|
color: $breadcrumb-divider-color;
|
||||||
content: "#{$breadcrumb-divider}";
|
content: "#{$breadcrumb-divider}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// When not using <ul> markup, browsers normally underline the ::before pseudo-element
|
||||||
|
// (the separator between the breadcrumbs) when the user hovers over its originating breadcrumb <a> element.
|
||||||
|
// In modern browsers, this underline can be suppressed by setting `display:inline-block` on the pseudo-element.
|
||||||
|
// (Why doesn't simply setting `text-decoration:none` on the pseudo-element work? Because that's how text-decoration propagation has been spec'd in CSS.)
|
||||||
|
// IE9-11 suffer from a bug which prevents that solution from working.
|
||||||
|
// For them, we apply a hack where we first set `text-decoration:underline` and then later set `text-decoration:none`, both on the pseudo-element.
|
||||||
|
// This tricks IE into suppressing the underline.
|
||||||
|
+ .breadcrumb-item:hover::before {
|
||||||
|
text-decoration: underline; // Part 1 of IE9-11 hack to suppress the underline
|
||||||
|
}
|
||||||
|
+ .breadcrumb-item:hover::before {
|
||||||
|
text-decoration: none; // Suppress underlining of the separator in IE9-11 (requires an earlier setting of `text-decoration:underline`)
|
||||||
|
}
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
color: $breadcrumb-active-color;
|
color: $breadcrumb-active-color;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue