// // Navbars // -------------------------------------------------- // Wrapper and base class .navbar { padding: 15px; background-color: @navbar-bg; border-radius: @border-radius-base; // Prevent floats from breaking the navbar .clear_float(); } // Brand/project name // ------------------------- .navbar .brand { display: inline-block; padding: 7px 15px; font-size: 18px; font-weight: bold; line-height: @line-height-base; color: @navbar-brand-color; &:hover { color: @navbar-brand-color-hover; text-decoration: none; background-color: @navbar-brand-bg-hover; } } // Responsive navbar button // ------------------------- .btn-navbar { float: right; padding: 10px 12px; background-color: #ddd; border: 0; border-radius: 4px; // Bars .icon-bar { display: block; width: 20px; height: 2px; background-color: #fff; border-radius: 1px; } .icon-bar + .icon-bar { margin-top: 3px; } } // Navbar nav links // ------------------------- .navbar { .nav { margin-top: 15px; // space out from .navbar .brand and .btn-navbar } .nav > li > a { padding-top: (@navbar-height - @line-height-base) / 2; padding-bottom: (@navbar-height - @line-height-base) / 2; color: @navbar-link-color; line-height: 20px; } .nav > li > a:hover, .nav > li > a:focus { color: @navbar-link-color-hover; background-color: @navbar-link-bg-hover; } .nav > .active > a, .nav > .active > a:hover, .nav > .active > a:focus { color: @navbar-link-color-active; background-color: @navbar-link-bg-active; } } @media screen and (min-width: 768px) { .navbar { padding-top: 0; padding-bottom: 0; } .navbar .brand { float: left; padding-top: (@navbar-height - @line-height-base) / 2; padding-bottom: (@navbar-height - @line-height-base) / 2; margin-left: -15px; } .navbar .nav { .clear_float(); margin-top: 0; // undo top margin to make nav extend full height of navbar } .navbar .nav > li { float: left; } // Required to make the collapsing navbar work on regular desktops .navbar .btn-navbar { display: none; } .nav-collapse.collapse { float: left; height: auto !important; overflow: visible !important; } } // Inverse navbar // ------------------------- .navbar-inverse { background-color: @navbar-inverse-bg; .brand { color: @navbar-inverse-brand-color; &:hover { color: @navbar-inverse-brand-color-hover; background-color: @navbar-inverse-brand-bg-hover; } } .navbar-text { color: @navbar-inverse-text; } .nav > li > a { color: @navbar-inverse-link-color; } .nav > li > a:hover, .nav > li > a:focus { color: @navbar-inverse-link-color-hover; background-color: @navbar-inverse-link-bg-hover; } .nav > .active > a, .nav > .active > a:hover, .nav > .active > a:focus { color: @navbar-inverse-link-color-active; background-color: @navbar-inverse-link-bg-active; } .btn-navbar { background-color: #444; } } // // Navbar alignment options // -------------------------------------------------- // Static navbar .navbar-static-top { position: static; border-radius: 0; } // Fixed navbar .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; } // // Navbar optional components // -------------------------------------------------- // Dividers in navbar .navbar .divider-vertical { height: 26px; margin: 7px 9px; border-left: 1px solid darken(@navbar-bg, 5%); border-right: 1px solid lighten(@navbar-bg, 5%); } // Navbar form .navbar-form { .navbar-vertical-align(32px); // Vertically center in navbar } /* // Janky solution for now to account for links outside the .nav // ------------------------- .navbar-link { color: @navbar-link-color; &:hover { color: @navbar-link-color-hover; } } // Dividers in navbar // ------------------------- .navbar .divider-vertical { height: @navbar-height; margin: 0 9px; border-left: 1px solid @navbar-background; border-right: 1px solid @navbar-background-highlight; } // Buttons in navbar // ------------------------- .navbar .btn, .navbar .btn-group { .navbarVerticalAlign(30px); // Vertically center in navbar } .navbar .btn-group .btn, .navbar .input-prepend .btn, .navbar .input-append .btn { margin-top: 0; // then undo the margin here so we don't accidentally double it } // Navbar forms // ------------------------- .navbar-form { margin-bottom: 0; // remove default bottom margin .clearfix(); input, select, .radio, .checkbox { .navbarVerticalAlign(30px); // Vertically center in navbar } input, select, .btn { display: inline-block; margin-bottom: 0; } input[type="image"], input[type="checkbox"], input[type="radio"] { margin-top: 3px; } .input-append, .input-prepend { margin-top: 5px; white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left input { margin-top: 0; // remove the margin on top since it's on the parent } } } // Navbar search // ------------------------- .navbar-search { position: relative; float: left; .navbarVerticalAlign(30px); // Vertically center in navbar margin-bottom: 0; .search-query { margin-bottom: 0; padding: 4px 14px; #font > .sans-serif(13px, normal, 1); border-radius: 15px; // redeclare because of specificity of the type attribute } } // Dropdown menus // -------------- // Menu position and menu carets .navbar .nav > li > .dropdown-menu { &:before { content: ''; display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid #ccc; border-bottom-color: @dropdown-border; position: absolute; top: -7px; left: 9px; } &:after { content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid @dropdown-background; position: absolute; top: -6px; left: 10px; } } // Menu position and menu caret support for dropups via extra dropup class .navbar-fixed-bottom .nav > li > .dropdown-menu { &:before { border-top: 7px solid #ccc; border-top-color: @dropdown-border; border-bottom: 0; bottom: -7px; top: auto; } &:after { border-top: 6px solid @dropdown-background; border-bottom: 0; bottom: -6px; top: auto; } } // Caret should match text color on hover .navbar .nav li.dropdown > a:hover .caret { border-top-color: @navbar-link-color-hover; border-bottom-color: @navbar-link-color-hover; } // Remove background color from open dropdown .navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.active > .dropdown-toggle, .navbar .nav li.dropdown.open.active > .dropdown-toggle { background-color: @navbar-link-background-active; color: @navbar-link-color-active; } .navbar .nav li.dropdown > .dropdown-toggle .caret { border-top-color: @navbar-link-color; border-bottom-color: @navbar-link-color; } .navbar .nav li.dropdown.open > .dropdown-toggle .caret, .navbar .nav li.dropdown.active > .dropdown-toggle .caret, .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: @navbar-link-color-active; border-bottom-color: @navbar-link-color-active; } // Right aligned menus need alt position .navbar .pull-right > li > .dropdown-menu, .navbar .nav > li > .dropdown-menu.pull-right { left: auto; right: 0; &:before { left: auto; right: 12px; } &:after { left: auto; right: 13px; } .dropdown-menu { left: auto; right: 100%; margin-left: 0; margin-right: -1px; border-radius: 6px 0 6px 6px; } } // Inverted navbar // ------------------------- .navbar-inverse { // Dropdowns .nav li.dropdown.open > .dropdown-toggle, .nav li.dropdown.active > .dropdown-toggle, .nav li.dropdown.open.active > .dropdown-toggle { background-color: @navbar-inverse-link-background-active; color: @navbar-inverse-link-color-active; } .nav li.dropdown > a:hover .caret { border-top-color: @navbar-inverse-link-color-active; border-bottom-color: @navbar-inverse-link-color-active; } .nav li.dropdown > .dropdown-toggle .caret { border-top-color: @navbar-inverse-link-color; border-bottom-color: @navbar-inverse-link-color; } .nav li.dropdown.open > .dropdown-toggle .caret, .nav li.dropdown.active > .dropdown-toggle .caret, .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: @navbar-inverse-link-color-active; border-bottom-color: @navbar-inverse-link-color-active; } // Navbar search .navbar-search { .search-query { color: #fff; background-color: @navbar-inverse-search-background; border-color: @navbar-inverse-search-border; .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)"); .transition(none); .placeholder(@navbar-inverse-search-placeholder-color); // Focus states (we use .focused since IE8 and down doesn't support :focus) &:focus, &.focused { padding: 5px 15px; color: @grayDark; text-shadow: 0 1px 0 #fff; background-color: @navbar-inverse-search-background-focus; border: 0; .box-shadow(0 0 3px rgba(0,0,0,.15)); outline: 0; } } } } */