// Base class .tooltip { position: absolute; z-index: $zindex-tooltip; display: block; margin: $tooltip-margin; // 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. @include reset-text(); font-size: $tooltip-font-size; // Allow breaking very long words so they don't overflow the tooltip's bounds word-wrap: break-word; opacity: 0; &.show { opacity: $tooltip-opacity; } .arrow { position: absolute; display: block; width: $tooltip-arrow-width; height: $tooltip-arrow-height; &::before { position: absolute; content: ""; border-color: transparent; border-style: solid; } } } .bs-tooltip-top { padding: $tooltip-arrow-height 0; .arrow { bottom: 0; &::before { top: 0; border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; border-top-color: $tooltip-arrow-color; } } } .bs-tooltip-right { padding: 0 $tooltip-arrow-height; .arrow { /*rtl:ignore*/ left: 0; width: $tooltip-arrow-height; height: $tooltip-arrow-width; &::before { /*rtl:begin:ignore*/ right: 0; border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; border-right-color: $tooltip-arrow-color; /*rtl:end:ignore*/ } } } .bs-tooltip-bottom { padding: $tooltip-arrow-height 0; .arrow { top: 0; &::before { bottom: 0; border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; border-bottom-color: $tooltip-arrow-color; } } } .bs-tooltip-left { padding: 0 $tooltip-arrow-height; .arrow { /*rtl:ignore*/ right: 0; width: $tooltip-arrow-height; height: $tooltip-arrow-width; &::before { /*rtl:begin:ignore*/ left: 0; border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; border-left-color: $tooltip-arrow-color; /*rtl:end:ignore*/ } } } .bs-tooltip-auto { &[x-placement^="top"] { @extend .bs-tooltip-top; } &[x-placement^="right"] { @extend .bs-tooltip-right; } &[x-placement^="bottom"] { @extend .bs-tooltip-bottom; } &[x-placement^="left"] { @extend .bs-tooltip-left; } } // Wrapper for the tooltip content .tooltip-inner { max-width: $tooltip-max-width; padding: $tooltip-padding-y $tooltip-padding-x; color: $tooltip-color; text-align: center; background-color: $tooltip-bg; @include border-radius($tooltip-border-radius); }