381 lines
7.9 KiB
Plaintext
381 lines
7.9 KiB
Plaintext
|
//
|
||
|
// Navbars
|
||
|
// --------------------------------------------------
|
||
|
|
||
|
// Wrapper and base class
|
||
|
.navbar {
|
||
|
position: relative;
|
||
|
min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
|
||
|
margin-bottom: 20px;
|
||
|
padding-left: @navbar-padding-horizontal;
|
||
|
padding-right: @navbar-padding-horizontal;
|
||
|
background-color: @navbar-bg;
|
||
|
border-radius: @border-radius-base;
|
||
|
|
||
|
// Prevent floats from breaking the navbar
|
||
|
.clearfix();
|
||
|
}
|
||
|
|
||
|
// Navbar nav links
|
||
|
// -------------------------
|
||
|
|
||
|
.navbar-nav {
|
||
|
// Space out from .navbar .brand and .btn-navbar when stacked in mobile views
|
||
|
margin-top: 10px;
|
||
|
margin-bottom: 15px;
|
||
|
|
||
|
> li > a {
|
||
|
padding-top: ((@navbar-height - @line-height-computed) / 2);
|
||
|
padding-bottom: ((@navbar-height - @line-height-computed) / 2);
|
||
|
color: @navbar-link-color;
|
||
|
line-height: 20px;
|
||
|
border-radius: @border-radius-base;
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-link-hover-color;
|
||
|
background-color: @navbar-link-hover-bg;
|
||
|
}
|
||
|
}
|
||
|
> .active > a {
|
||
|
&,
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-link-active-color;
|
||
|
background-color: @navbar-link-active-bg;
|
||
|
}
|
||
|
}
|
||
|
> .disabled > a {
|
||
|
&,
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-link-disabled-color;
|
||
|
background-color: @navbar-link-disabled-bg;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Right aligned contents
|
||
|
// Make them full width first so that they align properly on mobile
|
||
|
&.pull-right {
|
||
|
width: 100%;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
//
|
||
|
// Navbar alignment options
|
||
|
// --------------------------------------------------
|
||
|
|
||
|
// Static navbar
|
||
|
.navbar-static-top {
|
||
|
border-radius: 0;
|
||
|
}
|
||
|
|
||
|
// Fix the top/bottom navbars when screen real estate supports it
|
||
|
.navbar-fixed-top,
|
||
|
.navbar-fixed-bottom {
|
||
|
position: fixed;
|
||
|
right: 0;
|
||
|
left: 0;
|
||
|
z-index: @zindex-navbar-fixed;
|
||
|
border-radius: 0;
|
||
|
}
|
||
|
.navbar-fixed-top {
|
||
|
top: 0;
|
||
|
}
|
||
|
.navbar-fixed-bottom {
|
||
|
bottom: 0;
|
||
|
margin-bottom: 0; // override .navbar defaults
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
//
|
||
|
// Navbar optional components
|
||
|
// --------------------------------------------------
|
||
|
|
||
|
// Brand/project name
|
||
|
.navbar-brand {
|
||
|
display: block;
|
||
|
max-width: 200px;
|
||
|
margin-left: auto;
|
||
|
margin-right: auto;
|
||
|
padding: @navbar-padding-vertical @navbar-padding-horizontal;
|
||
|
font-size: @font-size-large;
|
||
|
font-weight: 500;
|
||
|
line-height: @line-height-computed;
|
||
|
color: @navbar-brand-color;
|
||
|
text-align: center;
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-brand-hover-color;
|
||
|
text-decoration: none;
|
||
|
background-color: @navbar-brand-hover-bg;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Collapsible navbar toggle
|
||
|
.navbar-toggle {
|
||
|
position: absolute;
|
||
|
top: floor((@navbar-height - 32) / 2);
|
||
|
right: 10px;
|
||
|
width: 48px;
|
||
|
height: 32px;
|
||
|
padding: 8px 12px;
|
||
|
background-color: transparent;
|
||
|
border: 1px solid @navbar-toggle-border-color;
|
||
|
border-radius: @border-radius-base;
|
||
|
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
background-color: @navbar-toggle-hover-bg;
|
||
|
}
|
||
|
|
||
|
// Bars
|
||
|
.icon-bar {
|
||
|
display: block;
|
||
|
width: 22px;
|
||
|
height: 2px;
|
||
|
background-color: @navbar-toggle-icon-bar-bg;
|
||
|
border-radius: 1px;
|
||
|
}
|
||
|
.icon-bar + .icon-bar {
|
||
|
margin-top: 4px;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Navbar form
|
||
|
.navbar-form {
|
||
|
.form-inline();
|
||
|
.navbar-vertical-align(@input-height-base); // Vertically center in navbar
|
||
|
}
|
||
|
|
||
|
// Dropdown menus
|
||
|
|
||
|
// Menu position and menu carets
|
||
|
.navbar-nav > li > .dropdown-menu {
|
||
|
margin-top: 0;
|
||
|
border-top-left-radius: 0;
|
||
|
border-top-right-radius: 0;
|
||
|
}
|
||
|
// Menu position and menu caret support for dropups via extra dropup class
|
||
|
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
|
||
|
border-bottom-left-radius: 0;
|
||
|
border-bottom-right-radius: 0;
|
||
|
}
|
||
|
|
||
|
// Dropdown menu items and carets
|
||
|
.navbar-nav {
|
||
|
// Caret should match text color on hover
|
||
|
> .dropdown > a:hover .caret,
|
||
|
> .dropdown > a:focus .caret {
|
||
|
border-top-color: @navbar-link-hover-color;
|
||
|
border-bottom-color: @navbar-link-hover-color;
|
||
|
}
|
||
|
|
||
|
// Remove background color from open dropdown
|
||
|
> .open > a {
|
||
|
&,
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
background-color: @navbar-link-active-bg;
|
||
|
color: @navbar-link-active-color;
|
||
|
.caret {
|
||
|
border-top-color: @navbar-link-active-color;
|
||
|
border-bottom-color: @navbar-link-active-color;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
> .dropdown > a .caret {
|
||
|
border-top-color: @navbar-link-color;
|
||
|
border-bottom-color: @navbar-link-color;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Right aligned menus need alt position
|
||
|
.navbar-nav.pull-right > li > .dropdown-menu,
|
||
|
.navbar-nav > li > .dropdown-menu.pull-right {
|
||
|
left: auto;
|
||
|
right: 0;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// Inverse navbar
|
||
|
// --------------------------------------------------
|
||
|
|
||
|
.navbar-inverse {
|
||
|
background-color: @navbar-inverse-bg;
|
||
|
|
||
|
.navbar-brand {
|
||
|
color: @navbar-inverse-brand-color;
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-inverse-brand-hover-color;
|
||
|
background-color: @navbar-inverse-brand-hover-bg;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.navbar-text {
|
||
|
color: @navbar-inverse-color;
|
||
|
}
|
||
|
|
||
|
.navbar-nav {
|
||
|
> li > a {
|
||
|
color: @navbar-inverse-link-color;
|
||
|
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-inverse-link-hover-color;
|
||
|
background-color: @navbar-inverse-link-hover-bg;
|
||
|
}
|
||
|
}
|
||
|
> .active > a {
|
||
|
&,
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-inverse-link-active-color;
|
||
|
background-color: @navbar-inverse-link-active-bg;
|
||
|
}
|
||
|
}
|
||
|
> .disabled > a {
|
||
|
&,
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
color: @navbar-inverse-link-disabled-color;
|
||
|
background-color: @navbar-inverse-link-disabled-bg;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Darken the responsive nav toggle
|
||
|
.navbar-toggle {
|
||
|
border-color: @navbar-inverse-toggle-border-color;
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
background-color: @navbar-inverse-toggle-hover-bg;
|
||
|
}
|
||
|
.icon-bar {
|
||
|
background-color: @navbar-inverse-toggle-icon-bar-bg;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Dropdowns
|
||
|
.navbar-nav {
|
||
|
> .open > a {
|
||
|
&,
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
background-color: @navbar-inverse-link-active-bg;
|
||
|
color: @navbar-inverse-link-active-color;
|
||
|
}
|
||
|
}
|
||
|
> .dropdown > a:hover .caret {
|
||
|
border-top-color: @navbar-inverse-link-hover-color;
|
||
|
border-bottom-color: @navbar-inverse-link-hover-color;
|
||
|
}
|
||
|
> .dropdown > a .caret {
|
||
|
border-top-color: @navbar-inverse-link-color;
|
||
|
border-bottom-color: @navbar-inverse-link-color;
|
||
|
}
|
||
|
> .open > a {
|
||
|
&,
|
||
|
&:hover,
|
||
|
&:focus {
|
||
|
.caret {
|
||
|
border-top-color: @navbar-inverse-link-active-color;
|
||
|
border-bottom-color: @navbar-inverse-link-active-color;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// Responsive navbar
|
||
|
// --------------------------------------------------
|
||
|
|
||
|
@media screen and (min-width: @grid-float-breakpoint) {
|
||
|
|
||
|
.navbar-brand {
|
||
|
float: left;
|
||
|
margin-left: -(@navbar-padding-horizontal);
|
||
|
margin-right: 5px;
|
||
|
}
|
||
|
.navbar-nav {
|
||
|
float: left;
|
||
|
// undo margin to make nav extend full height of navbar
|
||
|
margin-top: 0;
|
||
|
margin-bottom: 0;
|
||
|
|
||
|
> li {
|
||
|
float: left;
|
||
|
> a {
|
||
|
border-radius: 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.pull-right {
|
||
|
float: right;
|
||
|
width: auto;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Required to make the collapsing navbar work on regular desktops
|
||
|
.navbar-toggle {
|
||
|
position: relative;
|
||
|
top: auto;
|
||
|
left: auto;
|
||
|
display: none;
|
||
|
}
|
||
|
.nav-collapse.collapse {
|
||
|
display: block !important;
|
||
|
height: auto !important;
|
||
|
overflow: visible !important;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// Buttons in navbars
|
||
|
//
|
||
|
// Vertically center a button within a navbar (when *not* in a form).
|
||
|
|
||
|
.navbar-btn {
|
||
|
margin-top: ((@navbar-height - @input-height-base) / 2);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// Text in navbars
|
||
|
//
|
||
|
// Add a class to make any element properly align itself vertically within the navbars.
|
||
|
|
||
|
.navbar-text {
|
||
|
.navbar-vertical-align(@line-height-computed);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// Links in navbars
|
||
|
//
|
||
|
// Add a class to ensure links outside the navbar nav are colored correctly.
|
||
|
|
||
|
// Default navbar variables
|
||
|
.navbar-link {
|
||
|
color: @navbar-link-color;
|
||
|
&:hover {
|
||
|
color: @navbar-link-hover-color;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Use the inverse navbar variables
|
||
|
.navbar-inverse .navbar-link {
|
||
|
color: @navbar-inverse-link-color;
|
||
|
&:hover {
|
||
|
color: @navbar-inverse-link-hover-color;
|
||
|
}
|
||
|
}
|