0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-11-29 11:24:18 +01:00
Bootstrap/less/navs.less

264 lines
5.2 KiB
Plaintext
Raw Normal View History

2012-06-29 06:46:45 +02:00
//
// Navs
// --------------------------------------------------
2012-11-04 00:14:44 +01:00
// Base class
// --------------------------------------------------
.nav {
margin-bottom: 0;
padding-left: 0; // Override default ul/ol
list-style: none;
.clearfix();
2013-04-16 16:45:51 +02:00
> li {
position: relative;
2013-04-16 16:45:51 +02:00
display: block;
2013-04-16 16:45:51 +02:00
> a {
position: relative;
display: block;
padding: @nav-link-padding;
2013-04-16 16:45:51 +02:00
&:hover,
&:focus {
text-decoration: none;
background-color: @nav-link-hover-bg;
2013-04-16 16:45:51 +02:00
}
}
// Disabled state sets text to gray and nukes hover/tab effects
2013-04-16 16:45:51 +02:00
&.disabled > a {
color: @nav-disabled-link-color;
2013-07-07 06:51:47 +02:00
&:hover,
&:focus {
color: @nav-disabled-link-hover-color;
2013-07-07 06:51:47 +02:00
text-decoration: none;
background-color: transparent;
cursor: not-allowed;
2013-07-07 06:51:47 +02:00
}
2013-04-16 16:45:51 +02:00
}
}
// Open dropdowns
.open > a {
2013-07-07 06:51:47 +02:00
&,
&:hover,
&:focus {
background-color: @nav-link-hover-bg;
2013-07-07 06:51:47 +02:00
border-color: @link-color;
.caret {
border-top-color: @link-hover-color;
border-bottom-color: @link-hover-color;
}
}
2013-04-16 16:45:51 +02:00
}
// 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 {
2013-04-16 16:45:51 +02:00
.nav-divider();
}
// Prevent IE8 from misplacing imgs
//
// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
> li > a > img {
max-width: none;
}
}
2012-11-04 00:14:44 +01:00
// Tabs
// -------------------------
// Give the tabs something to sit on
.nav-tabs {
border-bottom: 1px solid @nav-tabs-border-color;
2013-04-16 16:45:51 +02:00
> li {
float: left;
// Make the list-items overlay the bottom border
margin-bottom: -1px;
2013-04-16 16:45:51 +02:00
// 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;
2013-04-16 16:45:51 +02:00
}
}
// Active state, and it's :hover to override normal :hover
2013-07-07 06:51:47 +02:00
&.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;
2013-07-07 06:51:47 +02:00
border-bottom-color: transparent;
cursor: default;
}
2013-04-16 16:45:51 +02:00
}
}
// pulling this in mainly for less shorthand
&.nav-justified {
2013-07-25 01:52:47 +02:00
.nav-justified();
.nav-tabs-justified();
}
}
2013-04-16 16:45:51 +02:00
// Pills
// -------------------------
2013-04-16 16:45:51 +02:00
.nav-pills {
> li {
float: left;
// Links rendered as pills
> a {
2013-09-13 21:39:27 +02:00
border-radius: @nav-pills-border-radius;
2013-04-16 16:45:51 +02:00
}
+ li {
margin-left: 2px;
2013-04-16 16:45:51 +02:00
}
// Active state
2013-07-07 06:51:47 +02:00
&.active > a {
&,
&:hover,
&:focus {
color: @nav-pills-active-link-hover-color;
background-color: @nav-pills-active-link-hover-bg;
.caret {
border-top-color: @nav-pills-active-link-hover-color;
border-bottom-color: @nav-pills-active-link-hover-color;
}
2013-07-07 06:51:47 +02:00
}
2013-04-16 16:45:51 +02:00
}
}
}
// Stacked pills
2013-04-16 16:45:51 +02:00
.nav-stacked {
> li {
float: none;
+ li {
2013-07-28 18:37:10 +02:00
margin-top: 2px;
margin-left: 0; // no need for this gap between nav items
2013-04-16 16:45:51 +02:00
}
}
}
// Nav variations
// --------------------------------------------------
// Justified nav links
// -------------------------
.nav-justified {
width: 100%;
> li {
float: none;
> a {
text-align: center;
margin-bottom: 5px;
}
}
@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
.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
// -------------------------
// Clear any floats
.tabbable {
.clearfix();
}
// Show/hide tabbable areas
.tab-content > .tab-pane,
.pill-content > .pill-pane {
display: none;
}
2013-07-07 06:51:47 +02:00
.tab-content,
.pill-content {
> .active {
display: block;
}
}
// Dropdowns
// -------------------------
// Make dropdown carets use link color in navs
.nav .caret {
border-top-color: @link-color;
border-bottom-color: @link-color;
}
.nav a:hover .caret {
border-top-color: @link-hover-color;
border-bottom-color: @link-hover-color;
}
// Specific dropdowns
.nav-tabs .dropdown-menu {
// make dropdown border overlap tab border
margin-top: -1px;
2012-11-04 00:14:44 +01:00
// Remove the top rounded corners here since there is a hard edge above the menu
.border-top-radius(0);
}