// // Navs // -------------------------------------------------- // Base class // -------------------------------------------------- .nav { margin-bottom: 0; padding-#{$left}: 0; // Override default ul/ol list-style: none; @include clearfix; > li { position: relative; display: block; > a { position: relative; display: block; padding: $nav-link-padding; &:hover, &:focus { text-decoration: none; background-color: $nav-link-hover-bg; } } // Disabled state sets text to gray and nukes hover/tab effects &.disabled > a { color: $nav-disabled-link-color; &:hover, &:focus { color: $nav-disabled-link-hover-color; text-decoration: none; background-color: transparent; cursor: $cursor-disabled; } } } // Open dropdowns .open > a { &, &:hover, &:focus { background-color: $nav-link-hover-bg; border-color: $link-color; } } // Nav dividers (deprecated with v3.0.1) // // This should have been removed in v3 with the dropping of `.nav-list`, but // we missed it. We don't currently support this anywhere, but in the interest // of maintaining backward compatibility in case you use it, it's deprecated. .nav-divider { @include nav-divider; } // Prevent IE8 from misplacing imgs // // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 > li > a > img { max-width: none; } } // Tabs // ------------------------- // Give the tabs something to sit on .nav-tabs { border-bottom: 1px solid $nav-tabs-border-color; > li { float: $left; // Make the list-items overlay the bottom border margin-bottom: -1px; // Actual tabs (as links) > a { margin-#{$right}: 2px; line-height: $line-height-base; border: 1px solid transparent; border-radius: $border-radius-base $border-radius-base 0 0; &:hover { border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color; } } // Active state, and its :hover to override normal :hover &.active > a { &, &:hover, &:focus { color: $nav-tabs-active-link-hover-color; background-color: $nav-tabs-active-link-hover-bg; border: 1px solid $nav-tabs-active-link-hover-border-color; border-bottom-color: transparent; cursor: default; } } } // pulling this in mainly for less shorthand &.nav-justified { @extend .nav-justified; @extend .nav-tabs-justified; } } // Pills // ------------------------- .nav-pills { > li { float: $left; // Links rendered as pills > a { border-radius: $nav-pills-border-radius; } + li { margin-#{$left}: 2px; } // Active state &.active > a { &, &:hover, &:focus { color: $nav-pills-active-link-hover-color; background-color: $nav-pills-active-link-hover-bg; } } } } // Stacked pills .nav-stacked { > li { float: none; + li { margin-top: 2px; margin-#{$left}: 0; // no need for this gap between nav items } } } // Nav variations // -------------------------------------------------- // Justified nav links // ------------------------- .nav-justified { width: 100%; > li { float: none; > a { text-align: center; margin-bottom: 5px; } } > .dropdown .dropdown-menu { top: auto; #{$left}: auto; } @media (min-width: $screen-sm-min) { > li { display: table-cell; width: 1%; > a { margin-bottom: 0; } } } } // Move borders to anchors instead of bottom of list // // Mixin for adding on top the shared `.nav-justified` styles for our tabs .nav-tabs-justified { border-bottom: 0; > li > a { // Override margin from .nav-tabs margin-#{$right}: 0; border-radius: $border-radius-base; } > .active > a, > .active > a:hover, > .active > a:focus { border: 1px solid $nav-tabs-justified-link-border-color; } @media (min-width: $screen-sm-min) { > li > a { border-bottom: 1px solid $nav-tabs-justified-link-border-color; border-radius: $border-radius-base $border-radius-base 0 0; } > .active > a, > .active > a:hover, > .active > a:focus { border-bottom-color: $nav-tabs-justified-active-link-border-color; } } } // Tabbable tabs // ------------------------- // Hide tabbable panes to start, show them when `.active` .tab-content { > .tab-pane { display: none; } > .active { display: block; } } // Dropdowns // ------------------------- // Specific dropdowns .nav-tabs .dropdown-menu { // make dropdown border overlap tab border margin-top: -1px; // Remove the top rounded corners here since there is a hard edge above the menu @include border-top-radius(0); }