// Contents // // Navbar // Navbar brand // Navbar nav // Navbar text // Navbar divider // Responsive navbar // Navbar position // Navbar themes // Navbar // // Provide a static navbar from which we expand to create full-width, fixed, and // other navbar variations. .navbar { position: relative; display: flex; flex-wrap: wrap; // allow us to do the line break for collapsing content align-items: center; justify-content: space-between; // space out brand from logo padding: $navbar-padding-y $navbar-padding-x; // Because flex properties aren't inherited, we need to redeclare these first // few properties so that content nested within behave properly. %container-flex-properties { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; } .container, .container-fluid { @extend %container-flex-properties; } @each $breakpoint, $container-max-width in $container-max-widths { > .container#{breakpoint-infix($breakpoint, $container-max-widths)} { @extend %container-flex-properties; } } } // Navbar brand // // Used for brand, project, or site names. // .navbar-brand { // display: inline-block; // padding-top: $navbar-brand-padding-y; // padding-bottom: $navbar-brand-padding-y; // margin-right: $navbar-padding-x; // @include font-size($navbar-brand-font-size); // line-height: inherit; // white-space: nowrap; // @include hover-focus() { // text-decoration: none; // } // } // Navbar nav // // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`). // .navbar-nav { // display: flex; // flex-direction: column; // cannot use `inherit` to get the `.navbar`s value // padding-left: 0; // margin-bottom: 0; // list-style: none; // .nav-link { // padding-right: 0; // padding-left: 0; // } // .dropdown-menu { // position: static; // float: none; // } // } // Navbar text // // // .navbar-text { // display: inline-block; // padding-top: $nav-link-padding-y; // padding-bottom: $nav-link-padding-y; // } // Responsive navbar // // Custom styles for responsive collapsing and toggling of navbar contents. // Powered by the collapse Bootstrap JavaScript plugin. // When collapsed, prevent the toggleable navbar contents from appearing in // the default flexbox row orientation. Requires the use of `flex-wrap: wrap` // on the `.navbar` parent. // .navbar-collapse { // flex-basis: 100%; // flex-grow: 1; // // For always expanded or extra full navbars, ensure content aligns itself // // properly vertically. Can be easily overridden with flex utilities. // align-items: center; // } // Button for toggling the navbar when in its collapsed state // .navbar-toggler { // padding: $navbar-toggler-padding-y $navbar-toggler-padding-x; // @include font-size($navbar-toggler-font-size); // line-height: 1; // background-color: transparent; // remove default button style // border: $border-width solid transparent; // remove default button style // @include border-radius($navbar-toggler-border-radius); // @include hover-focus() { // text-decoration: none; // } // } // Keep as a separate element so folks can easily override it with another icon // or image file as needed. // .navbar-toggler-icon { // display: inline-block; // width: 1.5em; // height: 1.5em; // vertical-align: middle; // content: ""; // background: 50% / 100% 100% no-repeat; // } // .navbar-nav-scroll { // max-height: $navbar-nav-scroll-max-height; // overflow-y: auto; // } // Generate series of `.navbar-expand-*` responsive classes for configuring // where your navbar collapses. // .navbar-expand { // @each $breakpoint in map-keys($grid-breakpoints) { // $next: breakpoint-next($breakpoint, $grid-breakpoints); // $infix: breakpoint-infix($next, $grid-breakpoints); // &#{$infix} { // @include media-breakpoint-down($breakpoint) { // %container-navbar-expand-#{$breakpoint} { // padding-right: 0; // padding-left: 0; // } // > .container, // > .container-fluid { // @extend %container-navbar-expand-#{$breakpoint}; // } // @each $size, $container-max-width in $container-max-widths { // > .container#{breakpoint-infix($size, $container-max-widths)} { // @extend %container-navbar-expand-#{$breakpoint}; // } // } // } // @include media-breakpoint-up($next) { // flex-flow: row nowrap; // justify-content: flex-start; // .navbar-nav { // flex-direction: row; // .dropdown-menu { // position: absolute; // } // .nav-link { // padding-right: $navbar-nav-link-padding-x; // padding-left: $navbar-nav-link-padding-x; // } // } // // For nesting containers, have to redeclare for alignment purposes // %container-nesting-#{$breakpoint} { // flex-wrap: nowrap; // } // > .container, // > .container-fluid { // @extend %container-nesting-#{$breakpoint}; // } // @each $size, $container-max-width in $container-max-widths { // > .container#{breakpoint-infix($size, $container-max-widths)} { // @extend %container-nesting-#{$breakpoint}; // } // } // .navbar-nav-scroll { // overflow: visible; // } // .navbar-collapse { // display: flex !important; // stylelint-disable-line declaration-no-important // // Changes flex-bases to auto because of an IE10 bug // flex-basis: auto; // } // .navbar-toggler { // display: none; // } // } // } // } // } // Navbar themes // // Styles for switching between navbars with light or dark background. // Dark links against a light background // .navbar-light { // .navbar-brand { // color: $navbar-light-brand-color; // @include hover-focus() { // color: $navbar-light-brand-hover-color; // } // } // .navbar-nav { // .nav-link { // color: $navbar-light-color; // @include hover-focus() { // color: $navbar-light-hover-color; // } // &.disabled { // color: $navbar-light-disabled-color; // } // } // .show > .nav-link, // .active > .nav-link, // .nav-link.show, // .nav-link.active { // color: $navbar-light-active-color; // } // } // .navbar-toggler { // color: $navbar-light-color; // border-color: $navbar-light-toggler-border-color; // } // .navbar-toggler-icon { // background-image: escape-svg($navbar-light-toggler-icon-bg); // } // .navbar-text { // color: $navbar-light-color; // a { // color: $navbar-light-active-color; // @include hover-focus() { // color: $navbar-light-active-color; // } // } // } // } // // White links against a dark background // .navbar-dark { // .navbar-brand { // color: $navbar-dark-brand-color; // @include hover-focus() { // color: $navbar-dark-brand-hover-color; // } // } // .navbar-nav { // .nav-link { // color: $navbar-dark-color; // @include hover-focus() { // color: $navbar-dark-hover-color; // } // &.disabled { // color: $navbar-dark-disabled-color; // } // } // .show > .nav-link, // .active > .nav-link, // .nav-link.show, // .nav-link.active { // color: $navbar-dark-active-color; // } // } // .navbar-toggler { // color: $navbar-dark-color; // border-color: $navbar-dark-toggler-border-color; // } // .navbar-toggler-icon { // background-image: escape-svg($navbar-dark-toggler-icon-bg); // } // .navbar-text { // color: $navbar-dark-color; // a { // color: $navbar-dark-active-color; // @include hover-focus() { // color: $navbar-dark-active-color; // } // } // } // }