// The dropdown wrapper (`<div>`)
.dropup,
-.dropdown {
+.dropright,
+.dropdown,
+.dropleft {
position: relative;
}
@include box-shadow($dropdown-box-shadow);
}
+.dropdown-menu-right {
+ right: 0;
+ left: auto;
+}
+
// 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;
}
.dropright {
.dropdown-menu {
+ top: 0;
+ right: auto;
+ left: 100%;
margin-top: 0;
margin-left: $dropdown-spacer;
}
.dropleft {
.dropdown-menu {
+ top: 0;
+ right: 100%;
+ left: auto;
margin-top: 0;
margin-right: $dropdown-spacer;
}
}
}
+// When enabled Popper.js, reset basic dropdown position
+// stylelint-disable no-duplicate-selectors
+.dropdown-menu {
+ &[x-placement^="top"],
+ &[x-placement^="right"],
+ &[x-placement^="bottom"],
+ &[x-placement^="left"] {
+ right: auto;
+ bottom: auto;
+ }
+}
+// stylelint-enable no-duplicate-selectors
+
// Dividers (basically an `<hr>`) within the dropdown
.dropdown-divider {
@include nav-divider($dropdown-divider-bg);
position: absolute;
}
- .dropdown-menu-right {
- right: 0;
- left: auto; // Reset the default from `.dropdown-menu`
- }
-
.nav-link {
padding-right: $navbar-nav-link-padding-x;
padding-left: $navbar-nav-link-padding-x;
.navbar-toggler {
display: none;
}
-
- .dropup {
- .dropdown-menu {
- top: auto;
- bottom: 100%;
- }
- }
}
}
}