vendor/assets/stylesheets/twitter/bootstrap/rtl/_dropdowns.scss in bootstrap-sass-rails-rtl-2.0.4.12 vs vendor/assets/stylesheets/twitter/bootstrap/rtl/_dropdowns.scss in bootstrap-sass-rails-rtl-2.2.2.0
- old
+ new
@@ -1,8 +1,11 @@
-// DROPDOWN MENUS
-// --------------
+/* Partial: twitter/bootstrap/_dropdowns.scss */
+//
+// 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,21 +27,16 @@
vertical-align: top;
border-top: 4px solid $black;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
content: "";
- @include opacity(30);
}
// Place the caret
.dropdown .caret {
margin-top: 8px;
margin-right: 2px;
}
-.dropdown:hover .caret,
-.open .caret {
- @include opacity(100);
-}
// The dropdown menu (ul)
// ----------------------
.dropdown-menu {
position: absolute;
@@ -46,19 +44,19 @@
right: 0;
z-index: $zindexDropdown;
display: none; // none by default, but block on "open" of the menu
float: right;
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-left-width: 2px;
*border-bottom-width: 2px;
- @include border-radius(5px);
+ @include border-radius(6px);
@include box-shadow(0 5px 10px rgba(0,0,0,.2));
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
@@ -72,13 +70,13 @@
.divider {
@include nav-divider($dropdownDividerTop, $dropdownDividerBottom);
}
// Links within the dropdown menu
- a {
+ li > a {
display: block;
- padding: 3px 15px;
+ padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: $baseLineHeight;
color: $dropdownLinkColor;
white-space: nowrap;
@@ -86,17 +84,43 @@
}
// Hover state
// -----------
.dropdown-menu li > a:hover,
+.dropdown-menu li > a:focus,
+.dropdown-submenu:hover > a {
+ text-decoration: none;
+ color: $dropdownLinkColorHover;
+ @include gradient-vertical($dropdownLinkBackgroundHover, darken($dropdownLinkBackgroundHover, 5%));
+}
+
+// Active state
+// ------------
.dropdown-menu .active > a,
.dropdown-menu .active > a:hover {
- color: $dropdownLinkColorHover;
+ color: $dropdownLinkColorActive;
text-decoration: none;
- background-color: $dropdownLinkBackgroundHover;
+ outline: 0;
+ @include 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;
+ background-image: none; // Remove CSS gradient
+ @include reset-filter();
+ 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
@@ -122,21 +146,88 @@
.navbar-fixed-bottom .dropdown {
// Reverse the caret
.caret {
border-top: 0;
border-bottom: 4px solid $black;
- content: "\2191";
+ content: "";
}
// Different positioning for bottom up menu
.dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 1px;
}
}
+// Sub menus
+// ---------------------------
+.dropdown-submenu {
+ position: relative;
+}
+// Default dropdowns
+.dropdown-submenu > .dropdown-menu {
+ top: 0;
+ right: 100%;
+ margin-top: -6px;
+ margin-right: -1px;
+ @include border-radius(0 6px 6px 6px);
+}
+.dropdown-submenu:hover > .dropdown-menu {
+ display: block;
+}
+
+// Dropups
+.dropup .dropdown-submenu > .dropdown-menu {
+ top: auto;
+ bottom: 0;
+ margin-top: 0;
+ margin-bottom: -2px;
+ @include border-radius(5px 5px 5px 0);
+}
+
+// Caret to indicate there is a submenu
+.dropdown-submenu > a:after {
+ display: block;
+ content: " ";
+ float: left;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+ border-width: 5px 0 5px 5px;
+ border-right-color: darken($dropdownBackground, 20%);
+ margin-top: 5px;
+ margin-left: -10px;
+}
+.dropdown-submenu:hover > a:after {
+ border-right-color: $dropdownLinkColorHover;
+}
+
+// Left aligned submenus
+.dropdown-submenu.pull-left {
+ // Undo the float
+ // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
+ float: none;
+
+ // Positioning the submenu
+ > .dropdown-menu {
+ right: -100%;
+ margin-right: 10px;
+ @include border-radius(6px 0 6px 6px);
+ }
+}
+
+// Tweak nav headers
+// -----------------
+// Increase padding from 15px to 20px on sides
+.dropdown .dropdown-menu .nav-header {
+ padding-right: 20px;
+ padding-left: 20px;
+}
+
// Typeahead
// ---------
.typeahead {
+ z-index: 1051;
margin-top: 2px; // give it some space to breathe
- @include border-radius(4px);
+ @include border-radius($baseBorderRadius);
}