aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Rebert <[email protected]>2015-04-12 17:08:03 -0700
committerChris Rebert <[email protected]>2015-04-12 17:08:03 -0700
commit150d454848fecc635e272a1f9c869ed5568fa90e (patch)
tree525483d94b31d93d4c408c24e45961f08cbdac7a
parentfeeff91be145a9fa2611fd1de815828efe20b69e (diff)
parent5359cb805439a6e3179fdd46d2fb009babd0f01b (diff)
downloadbootstrap-150d454848fecc635e272a1f9c869ed5568fa90e.tar.xz
bootstrap-150d454848fecc635e272a1f9c869ed5568fa90e.zip
Merge pull request #16086 from twbs/fix-15925
Reset text/font properties more thoroughly for tooltips+popovers
-rw-r--r--less/mixins.less1
-rw-r--r--less/mixins/reset-text.less18
-rw-r--r--less/popovers.less12
-rw-r--r--less/tooltip.less9
4 files changed, 27 insertions, 13 deletions
diff --git a/less/mixins.less b/less/mixins.less
index af4408fc2..e6f9fe684 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -11,6 +11,7 @@
@import "mixins/responsive-visibility.less";
@import "mixins/size.less";
@import "mixins/tab-focus.less";
+@import "mixins/reset-text.less";
@import "mixins/text-emphasis.less";
@import "mixins/text-overflow.less";
@import "mixins/vendor-prefixes.less";
diff --git a/less/mixins/reset-text.less b/less/mixins/reset-text.less
new file mode 100644
index 000000000..58dd4d19b
--- /dev/null
+++ b/less/mixins/reset-text.less
@@ -0,0 +1,18 @@
+.reset-text() {
+ font-family: @font-family-base;
+ // We deliberately do NOT reset font-size.
+ font-style: normal;
+ font-weight: normal;
+ letter-spacing: normal;
+ line-break: auto;
+ line-height: @line-height-base;
+ text-align: left; // Fallback for where `start` is not supported
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ white-space: normal;
+ word-break: normal;
+ word-spacing: normal;
+ word-wrap: normal;
+}
diff --git a/less/popovers.less b/less/popovers.less
index 2748eead1..3a62a6455 100644
--- a/less/popovers.less
+++ b/less/popovers.less
@@ -11,12 +11,11 @@
display: none;
max-width: @popover-max-width;
padding: 1px;
- // Reset font and text properties given new insertion method
- font-family: @font-family-base;
+ // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.
+ // So reset our font and text properties to avoid inheriting weird values.
+ .reset-text();
font-size: @font-size-base;
- font-weight: normal;
- line-height: @line-height-base;
- text-align: left;
+
background-color: @popover-bg;
background-clip: padding-box;
border: 1px solid @popover-fallback-border-color;
@@ -24,9 +23,6 @@
border-radius: @border-radius-large;
.box-shadow(0 5px 10px rgba(0,0,0,.2));
- // Overrides for proper insertion
- white-space: normal;
-
// Offset the popover to account for the popover arrow
&.top { margin-top: -@popover-arrow-width; }
&.right { margin-left: @popover-arrow-width; }
diff --git a/less/tooltip.less b/less/tooltip.less
index 9d5684743..b48d63e07 100644
--- a/less/tooltip.less
+++ b/less/tooltip.less
@@ -8,11 +8,11 @@
position: absolute;
z-index: @zindex-tooltip;
display: block;
- // Reset font and text properties given new insertion method
- font-family: @font-family-base;
+ // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
+ // So reset our font and text properties to avoid inheriting weird values.
+ .reset-text();
font-size: @font-size-small;
- font-weight: normal;
- line-height: 1.4;
+
.opacity(0);
&.in { .opacity(@tooltip-opacity); }
@@ -28,7 +28,6 @@
padding: 3px 8px;
color: @tooltip-color;
text-align: center;
- text-decoration: none;
background-color: @tooltip-bg;
border-radius: @border-radius-base;
}