vendor/assets/stylesheets/bootstrap/_navs.scss in bootstrap-sass-2.3.2.2 vs vendor/assets/stylesheets/bootstrap/_navs.scss in bootstrap-sass-3.0.0.0.rc
- old
+ new
@@ -1,409 +1,229 @@
//
// Navs
// --------------------------------------------------
-// BASE CLASS
-// ----------
+// Base class
+// --------------------------------------------------
.nav {
- margin-left: 0;
- margin-bottom: $baseLineHeight;
+ margin-bottom: 0;
+ padding-left: 0; // Override default ul/ol
list-style: none;
-}
+ @include clearfix();
-// Make links block level
-.nav > li > a {
- display: block;
-}
-.nav > li > a:hover,
-.nav > li > a:focus {
- text-decoration: none;
- background-color: $grayLighter;
-}
+ > li {
+ position: relative;
+ display: block;
-// Prevent IE8 from misplacing imgs
-// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
-.nav > li > a > img {
- max-width: none;
-}
+ > a {
+ position: relative;
+ display: block;
+ padding: $nav-link-padding;
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ background-color: $nav-link-hover-bg;
+ }
+ }
-// Redeclare pull classes because of specifity
-.nav > .pull-right {
- float: right;
-}
+ // Disabled state sets text to gray and nukes hover/tab effects
+ &.disabled > a {
+ color: $nav-disabled-link-color;
-// Nav headers (for dropdowns and lists)
-.nav-header {
- display: block;
- padding: 3px 15px;
- font-size: 11px;
- font-weight: bold;
- line-height: $baseLineHeight;
- color: $grayLight;
- text-shadow: 0 1px 0 rgba(255,255,255,.5);
- text-transform: uppercase;
-}
-// Space them out when they follow another list item (link)
-.nav li + .nav-header {
- margin-top: 9px;
-}
+ &:hover,
+ &:focus {
+ color: $nav-disabled-link-hover-color;
+ text-decoration: none;
+ background-color: transparent;
+ cursor: not-allowed;
+ }
+ }
+ }
+ // Open dropdowns
+ .open > a {
+ &,
+ &:hover,
+ &:focus {
+ background-color: $nav-link-hover-bg;
+ border-color: $link-color;
+ }
+ }
+ // Dividers (basically an hr) within the dropdown
+ .nav-divider {
+ @include nav-divider();
+ }
-// NAV LIST
-// --------
-
-.nav-list {
- padding-left: 15px;
- padding-right: 15px;
- margin-bottom: 0;
+ // Prevent IE8 from misplacing imgs
+ // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
+ > li > a > img {
+ max-width: none;
+ }
}
-.nav-list > li > a,
-.nav-list .nav-header {
- margin-left: -15px;
- margin-right: -15px;
- text-shadow: 0 1px 0 rgba(255,255,255,.5);
-}
-.nav-list > li > a {
- padding: 3px 15px;
-}
-.nav-list > .active > a,
-.nav-list > .active > a:hover,
-.nav-list > .active > a:focus {
- color: $white;
- text-shadow: 0 -1px 0 rgba(0,0,0,.2);
- background-color: $linkColor;
-}
-.nav-list [class^="icon-"],
-.nav-list [class*=" icon-"] {
- margin-right: 2px;
-}
-// Dividers (basically an hr) within the dropdown
-.nav-list .divider {
- @include nav-divider();
-}
+// Tabs
+// -------------------------
-// TABS AND PILLS
-// -------------
-
-// Common styles
-.nav-tabs,
-.nav-pills {
- @include clearfix();
-}
-.nav-tabs > li,
-.nav-pills > li {
- float: left;
-}
-.nav-tabs > li > a,
-.nav-pills > li > a {
- padding-right: 12px;
- padding-left: 12px;
- margin-right: 2px;
- line-height: 14px; // keeps the overall height an even number
-}
-
-// TABS
-// ----
-
// Give the tabs something to sit on
.nav-tabs {
- border-bottom: 1px solid #ddd;
-}
-// Make the list-items overlay the bottom border
-.nav-tabs > li {
- margin-bottom: -1px;
-}
-// Actual tabs (as links)
-.nav-tabs > li > a {
- padding-top: 8px;
- padding-bottom: 8px;
- line-height: $baseLineHeight;
- border: 1px solid transparent;
- @include border-radius(4px 4px 0 0);
- &:hover,
- &:focus {
- border-color: $grayLighter $grayLighter #ddd;
+ 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 it's :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;
+ }
}
-// Active state, and it's :hover/:focus to override normal :hover/:focus
-.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover,
-.nav-tabs > .active > a:focus {
- color: $gray;
- background-color: $bodyBackground;
- border: 1px solid #ddd;
- border-bottom-color: transparent;
- cursor: default;
-}
-// PILLS
-// -----
+// Pills
+// -------------------------
+.nav-pills {
+ > li {
+ float: left;
-// Links rendered as pills
-.nav-pills > li > a {
- padding-top: 8px;
- padding-bottom: 8px;
- margin-top: 2px;
- margin-bottom: 2px;
- @include border-radius(5px);
-}
+ // Links rendered as pills
+ > a {
+ border-radius: 5px;
+ }
+ + li {
+ margin-left: 2px;
+ }
-// Active state
-.nav-pills > .active > a,
-.nav-pills > .active > a:hover,
-.nav-pills > .active > a:focus {
- color: $white;
- background-color: $linkColor;
+ // Active state
+ &.active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: $nav-pills-active-link-hover-color;
+ background-color: $nav-pills-active-link-hover-bg;
+ }
+ }
+ }
}
-
-// STACKED NAV
-// -----------
-
-// Stacked tabs and pills
-.nav-stacked > li {
- float: none;
+// Stacked pills
+.nav-stacked {
+ > li {
+ float: none;
+ + li {
+ margin-top: 2px;
+ margin-left: 0; // no need for this gap between nav items
+ }
+ }
}
-.nav-stacked > li > a {
- margin-right: 0; // no need for the gap between nav items
-}
-// Tabs
-.nav-tabs.nav-stacked {
- border-bottom: 0;
-}
-.nav-tabs.nav-stacked > li > a {
- border: 1px solid #ddd;
- @include border-radius(0);
-}
-.nav-tabs.nav-stacked > li:first-child > a {
- @include border-top-radius(4px);
-}
-.nav-tabs.nav-stacked > li:last-child > a {
- @include border-bottom-radius(4px);
-}
-.nav-tabs.nav-stacked > li > a:hover,
-.nav-tabs.nav-stacked > li > a:focus {
- border-color: #ddd;
- z-index: 2;
-}
-// Pills
-.nav-pills.nav-stacked > li > a {
- margin-bottom: 3px;
-}
-.nav-pills.nav-stacked > li:last-child > a {
- margin-bottom: 1px; // decrease margin to match sizing of stacked tabs
-}
+// Nav variations
+// --------------------------------------------------
+// Justified nav links
+// -------------------------
+.nav-justified {
+ width: 100%;
-// DROPDOWNS
-// ---------
+ > li {
+ float: none;
+ > a {
+ text-align: center;
+ }
+ }
-.nav-tabs .dropdown-menu {
- @include border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu
+ @media (min-width: $screen-sm) {
+ > li {
+ display: table-cell;
+ width: 1%;
+ }
+ }
}
-.nav-pills .dropdown-menu {
- @include border-radius(6px); // make rounded corners match the pills
-}
-// Default dropdown links
-// -------------------------
-// Make carets use linkColor to start
-.nav .dropdown-toggle .caret {
- border-top-color: $linkColor;
- border-bottom-color: $linkColor;
- margin-top: 6px;
-}
-.nav .dropdown-toggle:hover .caret,
-.nav .dropdown-toggle:focus .caret {
- border-top-color: $linkColorHover;
- border-bottom-color: $linkColorHover;
-}
-/* move down carets for tabs */
-.nav-tabs .dropdown-toggle .caret {
- margin-top: 8px;
-}
+// Move borders to anchors instead of bottom of list
+.nav-tabs-justified {
+ border-bottom: 0;
+ > li > a {
+ border-bottom: 1px solid $nav-tabs-justified-link-border-color;
-// Active dropdown links
-// -------------------------
-.nav .active .dropdown-toggle .caret {
- border-top-color: #fff;
- border-bottom-color: #fff;
+ // Override margin from .nav-tabs
+ margin-right: 0;
+ }
+ > .active > a {
+ border-bottom-color: $nav-tabs-justified-active-link-border-color;
+ }
}
-.nav-tabs .active .dropdown-toggle .caret {
- border-top-color: $gray;
- border-bottom-color: $gray;
-}
-// Active:hover/:focus dropdown links
-// -------------------------
-.nav > .dropdown.active > a:hover,
-.nav > .dropdown.active > a:focus {
- cursor: pointer;
-}
-// Open dropdowns
+// Tabbable tabs
// -------------------------
-.nav-tabs .open .dropdown-toggle,
-.nav-pills .open .dropdown-toggle,
-.nav > li.dropdown.open.active > a:hover,
-.nav > li.dropdown.open.active > a:focus {
- color: $white;
- background-color: $grayLight;
- border-color: $grayLight;
-}
-.nav li.dropdown.open .caret,
-.nav li.dropdown.open.active .caret,
-.nav li.dropdown.open a:hover .caret,
-.nav li.dropdown.open a:focus .caret {
- border-top-color: $white;
- border-bottom-color: $white;
- @include opacity(100);
-}
-// Dropdowns in stacked tabs
-.tabs-stacked .open > a:hover,
-.tabs-stacked .open > a:focus {
- border-color: $grayLight;
-}
-
-
-
-// TABBABLE
-// --------
-
-
-// COMMON STYLES
-// -------------
-
// Clear any floats
.tabbable {
@include clearfix();
}
-.tab-content {
- overflow: auto; // prevent content from running below tabs
-}
-// Remove border on bottom, left, right
-.tabs-below > .nav-tabs,
-.tabs-right > .nav-tabs,
-.tabs-left > .nav-tabs {
- border-bottom: 0;
-}
-
// Show/hide tabbable areas
.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: none;
}
-.tab-content > .active,
-.pill-content > .active {
- display: block;
-}
-
-
-// BOTTOM
-// ------
-
-.tabs-below > .nav-tabs {
- border-top: 1px solid #ddd;
-}
-.tabs-below > .nav-tabs > li {
- margin-top: -1px;
- margin-bottom: 0;
-}
-.tabs-below > .nav-tabs > li > a {
- @include border-radius(0 0 4px 4px);
- &:hover,
- &:focus {
- border-bottom-color: transparent;
- border-top-color: #ddd;
+.tab-content,
+.pill-content {
+ > .active {
+ display: block;
}
}
-.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:hover,
-.tabs-below > .nav-tabs > .active > a:focus {
- border-color: transparent #ddd #ddd #ddd;
-}
-// LEFT & RIGHT
-// ------------
-// Common styles
-.tabs-left > .nav-tabs > li,
-.tabs-right > .nav-tabs > li {
- float: none;
-}
-.tabs-left > .nav-tabs > li > a,
-.tabs-right > .nav-tabs > li > a {
- min-width: 74px;
- margin-right: 0;
- margin-bottom: 3px;
-}
-// Tabs on the left
-.tabs-left > .nav-tabs {
- float: left;
- margin-right: 19px;
- border-right: 1px solid #ddd;
-}
-.tabs-left > .nav-tabs > li > a {
- margin-right: -1px;
- @include border-radius(4px 0 0 4px);
-}
-.tabs-left > .nav-tabs > li > a:hover,
-.tabs-left > .nav-tabs > li > a:focus {
- border-color: $grayLighter #ddd $grayLighter $grayLighter;
-}
-.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:hover,
-.tabs-left > .nav-tabs .active > a:focus {
- border-color: #ddd transparent #ddd #ddd;
- *border-right-color: $white;
-}
+// Dropdowns
+// -------------------------
-// Tabs on the right
-.tabs-right > .nav-tabs {
- float: right;
- margin-left: 19px;
- border-left: 1px solid #ddd;
+// Make dropdown carets use link color in navs
+.nav .caret {
+ border-top-color: $link-color;
+ border-bottom-color: $link-color;
}
-.tabs-right > .nav-tabs > li > a {
- margin-left: -1px;
- @include border-radius(0 4px 4px 0);
+.nav a:hover .caret {
+ border-top-color: $link-hover-color;
+ border-bottom-color: $link-hover-color;
}
-.tabs-right > .nav-tabs > li > a:hover,
-.tabs-right > .nav-tabs > li > a:focus {
- border-color: $grayLighter $grayLighter $grayLighter #ddd;
-}
-.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:hover,
-.tabs-right > .nav-tabs .active > a:focus {
- border-color: #ddd #ddd #ddd transparent;
- *border-left-color: $white;
-}
-
-
-// DISABLED STATES
-// ---------------
-
-// Gray out text
-.nav > .disabled > a {
- color: $grayLight;
-}
-// Nuke hover/focus effects
-.nav > .disabled > a:hover,
-.nav > .disabled > a:focus {
- text-decoration: none;
- background-color: transparent;
- cursor: default;
+// 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);
}