2025-01-12 04:36:52 +08:00

42 lines
1.1 KiB
SCSS

/* CSS behind nav_spacer() */
@mixin nav-spacer() {
.nav:not(.nav-hidden) {
/* Make sure nav container is flexbox (they aren't in BS3) */
display: flex !important;
display: -webkit-flex !important;
// Logic for horizontal nav (e.g., navset_tab(), etc)
&:not(.nav-stacked):not(.flex-column) {
float: none !important;
> .bslib-nav-spacer {
margin-left: auto !important;
}
/* .form-inline doesn't vertically align in BS3? */
> .form-inline {
margin-top: auto;
margin-bottom: auto;
}
}
// Logic for vertical nav (e.g., navset_pill_list())
&.nav-stacked {
flex-direction: column;
-webkit-flex-direction: column;
height: 100%;
> .bslib-nav-spacer {
margin-top: auto !important;
}
}
}
}
/* BS4+ uses this mixin for configurable breakpoints */
@if mixin-exists("media-breakpoint-up") {
@include media-breakpoint-up(sm) {
@include nav-spacer();
}
} @else {
/* BS3 default navbar breakpoint */
@media (min-width: 768px) {
@include nav-spacer();
}
}