@import 'mediawiki.mixins'; /** * Styling for namespace tabs (page, discussion) and views (read, edit, view history, watch and other actions) */ /* Namespaces and Views */ .vectorTabs { float: left; height: 2.5em; .background-image('images/tab-break.png'); background-position: bottom left; background-repeat: no-repeat; padding-left: 1px; /* Navigation Labels */ h3 { display: none; } ul { float: left; height: 100%; list-style: none none; margin: 0; padding: 0; .background-image('images/tab-break.png'); background-position: right bottom; background-repeat: no-repeat; } li { float: left; display: block; height: 100%; margin: 0; padding: 0; .background-image('images/tab-normal-fade.png'); background-position: bottom left; background-repeat: repeat-x; line-height: @line-height-nav; white-space: nowrap; a { color: @color-link; display: block; height: 1.9em; padding-left: 0.615em; // Equals `8px` at computed `font-size` of `13px` below padding-right: 0.615em; cursor: pointer; font-size: @font-size-tabs; } } .new { a, a:visited { color: @color-link-new; } } .selected { .background-image('images/tab-current-fade.png'); a, a:visited { color: @color-link-selected; text-decoration: none; } } .icon { a { background-position: bottom right; background-repeat: no-repeat; } } span { display: inline-block; .background-image('images/tab-break.png'); background-position: bottom right; background-repeat: no-repeat; height: 100%; a { float: left; display: block; position: relative; padding-top: 1.25em; } } } /* Variants and Actions */ .vectorMenu { direction: ltr; float: left; cursor: pointer; position: relative; line-height: 1.125em; h3 { span { color: @color-nav-subtle; position: relative; display: block; padding-left: 0.615em; padding-top: 1.25em; padding-right: 16px; font-size: @font-size-tabs; font-weight: normal; &:after { content: ''; position: absolute; top: 1.25em; right: 0; bottom: 0; left: 0; .background-image-svg('images/arrow-down.svg', 'images/arrow-down.png'); background-position: 100% 50%; background-repeat: no-repeat; // Modify the color of the image from the default #222 to approx. #444 to match the text. opacity: 0.85; } } &:hover span, &:focus span { color: @color-base; &:after { opacity: 1; } } } .menu { list-style: none none; background-color: @background-color-base; clear: both; // Match the width of the dropdown "heading" (the tab) min-width: 100%; position: absolute; top: 2.5em; left: -@border-width-base; margin: 0; border: @border-width-base @border-style-base @border-color-base; border-top-width: 0; padding: 0; box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 ); text-align: left; opacity: 0; visibility: hidden; .transition( opacity 100ms ); // Menus must overlap indicators (z-index: 1) and VisualEditor toolbar (z-index: 2) z-index: 2; } &:hover .menu { opacity: 1; visibility: visible; } // This is in a separate block, so that browsers supporting :hover but not :checked still apply the rule above // Support: IE8 .vectorMenuCheckbox:checked ~ .menu { opacity: 1; visibility: visible; } li { padding: 0; margin: 0; text-align: left; line-height: 1em; a { color: @color-link; display: block; padding: 0.625em; white-space: nowrap; cursor: pointer; font-size: @font-size-tabs; } } .selected a, .selected a:visited { color: @color-link-selected; text-decoration: none; } } #mw-head .vectorMenu h3 { float: left; .background-image('images/tab-break.png'); background-repeat: no-repeat; background-position: bottom right; font-size: @font-size-reset; height: 2.5em; // `padding-right` >= `1px` effectively moves the "background border" outside of the element to // act like a real border. It is necessary for `.vectorMenu .menu` dropdown to align well. // 0.5em equals `8px` at computed `font-size` of `14px` as visually harmonically with // `padding-left` in `.vectorMenu h3 span` padding: 0 0.5em 0 0; margin: 0 -1px 0 0; } // Invisible checkbox covering the dropdown menu handle .vectorMenuCheckbox { cursor: pointer; position: absolute; top: 0; left: 0; z-index: 1; opacity: 0; width: 100%; height: 100%; margin: 0; padding: 0; // Hide the checkbox completely in browsers that don't support :checked display: none; :not( :checked ) > & { // When the browser supports :checked, display it display: block; } &:checked + h3 span:after { transform: scaleY( -1 ); } &:focus + h3 { // Simulate browser focus ring outline: dotted 1px; // Firefox style outline: auto -webkit-focus-ring-color; // Webkit style } } @import 'watchstar.less';