// 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
//
// `