mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
synced 2024-11-29 09:55:42 +00:00
d8f62f780c
* Revises UserLinks.less according to the T285786 spec. * Unsets 'createaccount' data in $content_navigation in favor creating this link inside SkinVector which follows the same pattern as the Login link. This is needed because the create account link needs to be on top of the login link in the menu per T285786#7231671. * Changes MenuDropdown.less to pad the anchor element instead of the li element. This results in a more intuitive click target. * Places an end margin on the search box to add space between the user links and the search box. Bug: T285786 Change-Id: Idb860e6b65c9f266a8027e3f486ccf4c4ec4ed3c
162 lines
4.1 KiB
Plaintext
162 lines
4.1 KiB
Plaintext
@import '../variables.less';
|
||
@import 'mediawiki.mixins.less';
|
||
|
||
/* Variants and Actions */
|
||
.vector-menu-dropdown {
|
||
direction: ltr;
|
||
float: left;
|
||
cursor: pointer;
|
||
position: relative;
|
||
line-height: 1.125em;
|
||
|
||
h3 {
|
||
color: @color-base--subtle;
|
||
position: relative;
|
||
display: block;
|
||
.box-sizing( border-box );
|
||
|
||
&:not( .mw-ui-icon ) {
|
||
// `padding-top` needs to scale with font-size.
|
||
padding-top: 1.25em;
|
||
padding-left: 8px;
|
||
padding-right: unit( 24 / @font-size-tabs / @font-size-browser, em );
|
||
font-size: @font-size-tabs;
|
||
font-weight: normal;
|
||
}
|
||
|
||
&:after {
|
||
content: '';
|
||
background-image: url( images/arrow-down.svg );
|
||
background-position: 100% 50%;
|
||
background-repeat: no-repeat;
|
||
position: absolute;
|
||
top: unit( 10 / @font-size-tabs / @font-size-browser, em );
|
||
right: 8px;
|
||
bottom: 0;
|
||
width: unit( 16 / @font-size-tabs / @font-size-browser, em );
|
||
// Modify the color of the image from the default #202122 to approx. #404244 to match the text.
|
||
opacity: 0.84;
|
||
}
|
||
|
||
&:hover,
|
||
&:focus {
|
||
color: @color-base;
|
||
|
||
&:after {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
}
|
||
|
||
// The menu itself.
|
||
.vector-menu-content {
|
||
background-color: @background-color-base;
|
||
list-style: none none;
|
||
// 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 );
|
||
z-index: @z-index-menu;
|
||
}
|
||
|
||
.vector-menu-checkbox:checked ~ .vector-menu-content {
|
||
opacity: 1;
|
||
visibility: visible;
|
||
}
|
||
|
||
ul {
|
||
// display list style images introduced in typography.less.
|
||
list-style: none;
|
||
}
|
||
|
||
li {
|
||
padding: 0;
|
||
margin: 0;
|
||
text-align: left;
|
||
line-height: 1em;
|
||
|
||
a {
|
||
padding: 0.625em;
|
||
color: @color-link;
|
||
display: block;
|
||
white-space: nowrap;
|
||
cursor: pointer;
|
||
|
||
span {
|
||
font-size: @font-size-tabs;
|
||
}
|
||
}
|
||
}
|
||
|
||
.selected a,
|
||
.selected a:visited {
|
||
color: @color-link-selected;
|
||
text-decoration: none;
|
||
}
|
||
}
|
||
|
||
#mw-head .vector-menu-dropdown h3 {
|
||
// Tab separator: Outer end (right in LTR) border of "Actions" menu.
|
||
background-position: right bottom;
|
||
float: left;
|
||
height: unit( 40 / @font-size-tabs / @font-size-browser, em );
|
||
margin: 0 -@border-width-base 0 0;
|
||
// `padding-right` >= `1px` effectively moves the "background border" outside of the element to
|
||
// act like a real border. It is necessary for `.vector-menu-dropdown .vector-menu-content-list` dropdown to align well.
|
||
// 0.5em equals `8px` at computed `font-size` of `14px` as visually harmonically with
|
||
// `padding-left` in `.vector-menu-dropdown h3 a`
|
||
padding-right: unit( 24 / @font-size-tabs / @font-size-browser, em );
|
||
}
|
||
|
||
// Tab Separators
|
||
// `.vector-menu-tabs`: Outer start border (left in LTR) of tab row.
|
||
// `.vector-menu-tabs a`: Border between tabs and outer end (right in LTR) border.
|
||
// `#mw-head .vector-menu-dropdown h3`: // Outer end (right in LTR) border of "Actions" menu.
|
||
.vector-menu-tabs,
|
||
.vector-menu-tabs a,
|
||
#mw-head .vector-menu-dropdown h3 {
|
||
// Support: IE 9, which doesn't understand `linear-gradient`.
|
||
background-image: url( images/tab-separator.png );
|
||
background-image: linear-gradient( to bottom, rgba( 167, 215, 249, 0 ) 0, @border-color-content 100% );
|
||
background-repeat: no-repeat;
|
||
// Contain gradient to 1px × 100% size and draw from top to bottom-left or -right corner.
|
||
background-size: @border-width-base 100%;
|
||
}
|
||
|
||
// Invisible checkbox covering the dropdown menu handle
|
||
.vector-menu-checkbox {
|
||
cursor: pointer;
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
z-index: @z-index-menu-checkbox;
|
||
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;
|
||
}
|
||
|
||
&:focus + h3 {
|
||
// Simulate browser focus ring
|
||
outline: dotted 1px; // Firefox style
|
||
outline: auto -webkit-focus-ring-color; // Webkit style
|
||
}
|
||
}
|