/** * Dropdown container */ .vector-dropdown { position: relative; /** * Dropdown toggle buttons. Doesn't apply to icon only buttons like the main menu dropdown. * - language variants, Actions menus * - more menu, user menu * - ULS button in sticky header */ .vector-dropdown-label:not( .cdx-button--icon-only ) { .mixin-vector-arrowed-dropdown-toggle(); } /** * Invisible checkbox covering the dropdown toggle button. */ .vector-dropdown-checkbox { cursor: pointer; position: absolute; top: 0; left: 0; z-index: @z-index-stacking-1; opacity: 0; width: 100%; height: 100%; margin: 0; padding: 0; // Hide and show menu content based off checked status. &:checked ~ .vector-dropdown-content { opacity: 1; visibility: visible; height: auto; } } .vector-dropdown-content { position: absolute; top: 100%; left: -@border-width-base; opacity: 0; height: 0; visibility: hidden; overflow: hidden; margin: 0; padding: 4px 0; z-index: @z-index-dropdown; background-color: @background-color-base; border: @border-width-base @border-style-base @border-color-base; box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 ); transition-property: opacity; transition-duration: @transition-duration-base; // TODO Add consistent min/max values for dropdowns in T316055 width: max-content; max-width: 200px; } } .vector-pinnable-element, .vector-dropdown-content { .vector-menu-heading { .mixin-vector-dropdown-menu-item(); .mixin-vector-menu-heading(); } .mw-list-item { padding: 0; } .mw-list-item a { // Mirror styles from Dropdown.less .mixin-vector-dropdown-menu-item(); color: @color-link; } > *:not( :last-child ) { // Apply bottom border to every children of dropdown contents and pinnable elements except the last border-bottom: @border-width-base @border-style-base #eaecf0; } } /** * Dropdown menu items. */ .vector-dropdown .mw-list-item { padding: 0; a { .mixin-vector-dropdown-menu-item(); // The link is a mw-selflink in the case of temporary users. &:not( .mw-selflink ) { color: @color-link; } } .selected a, .selected a:visited { color: @color-link-selected; text-decoration: none; } }