// The dropdown wrapper (`
`) .dropup, .dropright, .dropdown, .dropleft { position: relative; } .dropdown-toggle { white-space: nowrap; // Generate the caret automatically @include caret(); } // The dropdown menu .dropdown-menu { position: absolute; top: 100%; // left: 0; z-index: $zindex-dropdown; display: none; // none by default, but block on "open" of the menu float: left; min-width: $dropdown-min-width; padding: $dropdown-padding-y 0; @include font-size($dropdown-font-size); text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) list-style: none; background-clip: padding-box; border: $dropdown-border-width solid; @include border-radius($dropdown-border-radius); @include box-shadow($dropdown-box-shadow); @include themes($dropdown-theme-map, $create: parent) { color: themes-get-value("dropdown-color"); background-color: themes-get-value("dropdown-bg"); border-color: themes-get-value("dropdown-border-color"); } } .c-header .dropdown-menu, .navbar .dropdown-menu, [data-display^="static"] ~ .dropdown-menu { margin: $dropdown-spacer 0 0; // override default ul } // scss-docs-start responsive-breakpoints @each $breakpoint in map-keys($grid-breakpoints) { @include media-breakpoint-up($breakpoint) { $infix: breakpoint-infix($breakpoint, $grid-breakpoints); .c-header .dropdown-menu#{$infix}-left, .navbar .dropdown-menu#{$infix}-left, [data-display^="static"] ~ .dropdown-menu#{$infix}-left { @include ltr { right: auto; left: 0; } @include rtl { right: 0; left: auto; } } .c-header .dropdown-menu#{$infix}-right, .navbar .dropdown-menu#{$infix}-right, [data-display^="static"] ~ .dropdown-menu#{$infix}-right { @include ltr { right: 0; left: auto; } @include rtl { right: auto; left: 0; } } } } // scss-docs-end responsive-breakpoints // Allow for dropdowns to go bottom up (aka, dropup-menu) // Just add .dropup after the standard .dropdown class and you"re set. .dropup { .dropdown-menu { top: auto; bottom: 100%; margin-top: 0; margin-bottom: $dropdown-spacer; } .dropdown-toggle { @include caret(up); } } .dropright { .dropdown-menu { top: 0; margin-top: 0; @include ltr { right: auto; left: 100%; margin-left: $dropdown-spacer; } @include rtl { right: 100%; left: auto; margin-right: $dropdown-spacer; } } .dropdown-toggle { @include caret(right); &::after { vertical-align: 0; } } } .dropleft { .dropdown-menu { top: 0; margin-top: 0; @include ltr { right: 100%; left: auto; margin-right: $dropdown-spacer; } @include rtl { right: auto; left: 100%; margin-left: $dropdown-spacer; } } .dropdown-toggle { @include caret(left); &::before { vertical-align: 0; } } } // Dividers (basically an `
`) within the dropdown .dropdown-divider { @include themes($dropdown-theme-map, $create: parent) { @include nav-divider(themes-get-value("dropdown-divider-bg"), $dropdown-divider-margin-y, true); } } // Links, buttons, and more within the dropdown menu // // `