vendor/frameworks/twitter/bootstrap/dropdowns.less in less-rails-bootstrap-2.0.13 vs vendor/frameworks/twitter/bootstrap/dropdowns.less in less-rails-bootstrap-2.1.0

- old
+ new

@@ -1,8 +1,10 @@ -// DROPDOWN MENUS -// -------------- +// +// Dropdown menus +// -------------------------------------------------- + // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns .dropup, .dropdown { position: relative; } @@ -24,22 +26,17 @@ vertical-align: top; border-top: 4px solid @black; border-right: 4px solid transparent; border-left: 4px solid transparent; content: ""; - .opacity(30); } // Place the caret .dropdown .caret { margin-top: 8px; margin-left: 2px; } -.dropdown:hover .caret, -.open .caret { - .opacity(100); -} // The dropdown menu (ul) // ---------------------- .dropdown-menu { position: absolute; @@ -47,19 +44,19 @@ left: 0; z-index: @zindexDropdown; display: none; // none by default, but block on "open" of the menu float: left; min-width: 160px; - padding: 4px 0; - margin: 1px 0 0; // override default ul + padding: 5px 0; + margin: 2px 0 0; // override default ul list-style: none; background-color: @dropdownBackground; - border: 1px solid #ccc; - border: 1px solid rgba(0,0,0,.2); + border: 1px solid #ccc; // Fallback for IE7-8 + border: 1px solid @dropdownBorder; *border-right-width: 2px; *border-bottom-width: 2px; - .border-radius(5px); + .border-radius(6px); .box-shadow(0 5px 10px rgba(0,0,0,.2)); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; @@ -75,11 +72,11 @@ } // Links within the dropdown menu a { display: block; - padding: 3px 15px; + padding: 3px 20px; clear: both; font-weight: normal; line-height: @baseLineHeight; color: @dropdownLinkColor; white-space: nowrap; @@ -87,17 +84,43 @@ } // Hover state // ----------- .dropdown-menu li > a:hover, +.dropdown-menu li > a:focus, +.dropdown-submenu:hover > a { + text-decoration: none; + color: @dropdownLinkColorHover; + background-color: @dropdownLinkBackgroundHover; + #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%)); +} + +// Active state +// ------------ .dropdown-menu .active > a, .dropdown-menu .active > a:hover { color: @dropdownLinkColorHover; text-decoration: none; - background-color: @dropdownLinkBackgroundHover; + outline: 0; + background-color: @dropdownLinkBackgroundActive; + #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%)); } +// Disabled state +// -------------- +// Gray out text and ensure the hover state remains gray +.dropdown-menu .disabled > a, +.dropdown-menu .disabled > a:hover { + color: @grayLight; +} +// Nuke hover effects +.dropdown-menu .disabled > a:hover { + text-decoration: none; + background-color: transparent; + cursor: default; +} + // Open state for the dropdown // --------------------------- .open { // IE7's z-index only goes to the nearest positioned ancestor, which would // make the menu appear below buttons that appeared later on the page @@ -131,9 +154,53 @@ .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px; } +} + +// Sub menus +// --------------------------- +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} +.dropdown-submenu:hover .dropdown-menu { + display: block; +} + +.dropdown-submenu > a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: darken(@dropdownBackground, 20%); + margin-top: 5px; + margin-right: -10px; +} +.dropdown-submenu:hover > a:after { + border-left-color: @dropdownLinkColorHover; +} + + +// Tweak nav headers +// ----------------- +// Increase padding from 15px to 20px on sides +.dropdown .dropdown-menu .nav-header { + padding-left: 20px; + padding-right: 20px; } // Typeahead // --------- .typeahead {