214 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			214 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
			Vendored
		
	
	
	
| //
 | |
| // Dropdown menus
 | |
| // --------------------------------------------------
 | |
| 
 | |
| 
 | |
| // Dropdown arrow/caret
 | |
| .caret {
 | |
|   display: inline-block;
 | |
|   width: 0;
 | |
|   height: 0;
 | |
|   margin-left: 2px;
 | |
|   vertical-align: middle;
 | |
|   border-top:   @caret-width-base solid;
 | |
|   border-right: @caret-width-base solid transparent;
 | |
|   border-left:  @caret-width-base solid transparent;
 | |
| }
 | |
| 
 | |
| // The dropdown wrapper (div)
 | |
| .dropdown {
 | |
|   position: relative;
 | |
| }
 | |
| 
 | |
| // Prevent the focus on the dropdown toggle when closing dropdowns
 | |
| .dropdown-toggle:focus {
 | |
|   outline: 0;
 | |
| }
 | |
| 
 | |
| // The dropdown menu (ul)
 | |
| .dropdown-menu {
 | |
|   position: absolute;
 | |
|   top: 100%;
 | |
|   left: 0;
 | |
|   z-index: @zindex-dropdown;
 | |
|   display: none; // none by default, but block on "open" of the menu
 | |
|   float: left;
 | |
|   min-width: 160px;
 | |
|   padding: 5px 0;
 | |
|   margin: 2px 0 0; // override default ul
 | |
|   list-style: none;
 | |
|   font-size: @font-size-base;
 | |
|   text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
 | |
|   background-color: @dropdown-bg;
 | |
|   border: 1px solid @dropdown-fallback-border; // IE8 fallback
 | |
|   border: 1px solid @dropdown-border;
 | |
|   border-radius: @border-radius-base;
 | |
|   .box-shadow(0 6px 12px rgba(0,0,0,.175));
 | |
|   background-clip: padding-box;
 | |
| 
 | |
|   // Aligns the dropdown menu to right
 | |
|   //
 | |
|   // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`
 | |
|   &.pull-right {
 | |
|     right: 0;
 | |
|     left: auto;
 | |
|   }
 | |
| 
 | |
|   // Dividers (basically an hr) within the dropdown
 | |
|   .divider {
 | |
|     .nav-divider(@dropdown-divider-bg);
 | |
|   }
 | |
| 
 | |
|   // Links within the dropdown menu
 | |
|   > li > a {
 | |
|     display: block;
 | |
|     padding: 3px 20px;
 | |
|     clear: both;
 | |
|     font-weight: normal;
 | |
|     line-height: @line-height-base;
 | |
|     color: @dropdown-link-color;
 | |
|     white-space: nowrap; // prevent links from randomly breaking onto new lines
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Hover/Focus state
 | |
| .dropdown-menu > li > a {
 | |
|   &:hover,
 | |
|   &:focus {
 | |
|     text-decoration: none;
 | |
|     color: @dropdown-link-hover-color;
 | |
|     background-color: @dropdown-link-hover-bg;
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Active state
 | |
| .dropdown-menu > .active > a {
 | |
|   &,
 | |
|   &:hover,
 | |
|   &:focus {
 | |
|     color: @dropdown-link-active-color;
 | |
|     text-decoration: none;
 | |
|     outline: 0;
 | |
|     background-color: @dropdown-link-active-bg;
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Disabled state
 | |
| //
 | |
| // Gray out text and ensure the hover/focus state remains gray
 | |
| 
 | |
| .dropdown-menu > .disabled > a {
 | |
|   &,
 | |
|   &:hover,
 | |
|   &:focus {
 | |
|     color: @dropdown-link-disabled-color;
 | |
|   }
 | |
| 
 | |
|   // Nuke hover/focus effects
 | |
|   &:hover,
 | |
|   &:focus {
 | |
|     text-decoration: none;
 | |
|     background-color: transparent;
 | |
|     background-image: none; // Remove CSS gradient
 | |
|     .reset-filter();
 | |
|     cursor: @cursor-disabled;
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Open state for the dropdown
 | |
| .open {
 | |
|   // Show the menu
 | |
|   > .dropdown-menu {
 | |
|     display: block;
 | |
|   }
 | |
| 
 | |
|   // Remove the outline when :focus is triggered
 | |
|   > a {
 | |
|     outline: 0;
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Menu positioning
 | |
| //
 | |
| // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
 | |
| // menu with the parent.
 | |
| .dropdown-menu-right {
 | |
|   left: auto; // Reset the default from `.dropdown-menu`
 | |
|   right: 0;
 | |
| }
 | |
| // With v3, we enabled auto-flipping if you have a dropdown within a right
 | |
| // aligned nav component. To enable the undoing of that, we provide an override
 | |
| // to restore the default dropdown menu alignment.
 | |
| //
 | |
| // This is only for left-aligning a dropdown menu within a `.navbar-right` or
 | |
| // `.pull-right` nav component.
 | |
| .dropdown-menu-left {
 | |
|   left: 0;
 | |
|   right: auto;
 | |
| }
 | |
| 
 | |
| // Dropdown section headers
 | |
| .dropdown-header {
 | |
|   display: block;
 | |
|   padding: 3px 20px;
 | |
|   font-size: @font-size-small;
 | |
|   line-height: @line-height-base;
 | |
|   color: @dropdown-header-color;
 | |
|   white-space: nowrap; // as with > li > a
 | |
| }
 | |
| 
 | |
| // Backdrop to catch body clicks on mobile, etc.
 | |
| .dropdown-backdrop {
 | |
|   position: fixed;
 | |
|   left: 0;
 | |
|   right: 0;
 | |
|   bottom: 0;
 | |
|   top: 0;
 | |
|   z-index: (@zindex-dropdown - 10);
 | |
| }
 | |
| 
 | |
| // Right aligned dropdowns
 | |
| .pull-right > .dropdown-menu {
 | |
|   right: 0;
 | |
|   left: auto;
 | |
| }
 | |
| 
 | |
| // Allow for dropdowns to go bottom up (aka, dropup-menu)
 | |
| //
 | |
| // Just add .dropup after the standard .dropdown class and you're set, bro.
 | |
| // TODO: abstract this so that the navbar fixed styles are not placed here?
 | |
| 
 | |
| .dropup,
 | |
| .navbar-fixed-bottom .dropdown {
 | |
|   // Reverse the caret
 | |
|   .caret {
 | |
|     border-top: 0;
 | |
|     border-bottom: @caret-width-base solid;
 | |
|     content: "";
 | |
|   }
 | |
|   // Different positioning for bottom up menu
 | |
|   .dropdown-menu {
 | |
|     top: auto;
 | |
|     bottom: 100%;
 | |
|     margin-bottom: 1px;
 | |
|   }
 | |
| }
 | |
| 
 | |
| 
 | |
| // Component alignment
 | |
| //
 | |
| // Reiterate per navbar.less and the modified component alignment there.
 | |
| 
 | |
| @media (min-width: @grid-float-breakpoint) {
 | |
|   .navbar-right {
 | |
|     .dropdown-menu {
 | |
|       .dropdown-menu-right();
 | |
|     }
 | |
|     // Necessary for overrides of the default right aligned menu.
 | |
|     // Will remove come v4 in all likelihood.
 | |
|     .dropdown-menu-left {
 | |
|       .dropdown-menu-left();
 | |
|     }
 | |
|   }
 | |
| }
 | 
