mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-12-21 01:52:49 +00:00
5ef5694fbf
- Define icon size variables in icons.less - Update icon classes to use .cdx-mixin-css-icon() - Remove temporary fixes in icons.less - Add 'codex.styles' dependency in skin.json - Set 'useMaskImage' to true in skin.json Bug: T374145 Depends-On: Ia8f770aec365da77b39cb0258f546df7894e6ba4 Change-Id: I87b060cf98194d81679da2610944f58e8d941389
293 lines
7.5 KiB
Plaintext
293 lines
7.5 KiB
Plaintext
@import '../../minerva.less/minerva.variables.less';
|
|
@import '../../minerva.less/minerva.mixins.less';
|
|
@import 'mediawiki.mixins.less';
|
|
@import 'icons.less';
|
|
|
|
/* stylelint-disable no-descending-specificity */
|
|
html,
|
|
body {
|
|
// Ensure overlays take up full screen
|
|
height: 100%;
|
|
}
|
|
|
|
html {
|
|
font-size: @font-size-root;
|
|
// Support Safari: Prevent font scaling in landscape
|
|
-webkit-text-size-adjust: none;
|
|
}
|
|
|
|
body {
|
|
background-color: @background-color-base;
|
|
color: @color-base;
|
|
// Support All Browsers: Remove `margin` (normalized)
|
|
margin: 0;
|
|
}
|
|
|
|
/* needed for navigation elements and content */
|
|
ul {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
main {
|
|
// Support IE 9-11: Apply correct `display` (normalized), see T207618.
|
|
display: block;
|
|
}
|
|
|
|
.mw-body {
|
|
// avoid margin collapsing (see T147956)
|
|
border-top: @border-width-base @border-style-base @border-color-transparent;
|
|
padding-bottom: 32px;
|
|
}
|
|
|
|
.overlay-enabled,
|
|
.mw-body {
|
|
background-color: @background-color-base;
|
|
}
|
|
|
|
// If footer has last modified list item (Desktop MinervaNeue ?useformat=desktop&useskin=minerva),
|
|
// hide it (T173545).
|
|
// stylelint-disable-next-line selector-max-id
|
|
.navigation-drawer--loading,
|
|
#footer-info-lastmod {
|
|
display: none;
|
|
}
|
|
|
|
// Override rule in MobileFrontend (
|
|
// (ul.footer-info li in resources/mobile.init.styles.less)
|
|
// to show copyright.
|
|
// stylelint-disable-next-line selector-max-id
|
|
#footer-info-copyright {
|
|
display: block;
|
|
}
|
|
|
|
// JavaScript overlay and server side rendered header
|
|
.overlay-header,
|
|
.minerva-header {
|
|
display: flex;
|
|
align-items: center;
|
|
width: 100%;
|
|
border-spacing: 0;
|
|
border-collapse: collapse;
|
|
height: @height-site-header;
|
|
white-space: nowrap;
|
|
// When banners are present we want to easily distinguish between them and the header so add border
|
|
border-top: @border-subtle;
|
|
// Hide the header border top when a banner is not present.
|
|
margin-top: -@border-width-base;
|
|
}
|
|
|
|
//
|
|
// Search
|
|
//
|
|
.minerva-search-form {
|
|
display: flex;
|
|
width: 100%;
|
|
flex-grow: 1;
|
|
align-items: center;
|
|
|
|
> button {
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
|
|
.search-box {
|
|
position: relative;
|
|
}
|
|
|
|
// Search input
|
|
// Used in minerva header and search overlay header
|
|
.search-box .search {
|
|
@size-icon-search: unit( 18 / @font-size-browser, em );
|
|
@size-icon-search-gutter: unit( 8 / @font-size-browser, em );
|
|
@size-modifier-border: unit( 1 / @font-size-browser, em );
|
|
@padding-vertical-search: 8px - @border-width-base;
|
|
@padding-start-search-icon: @size-icon-search + ( 2 * @size-icon-search-gutter ) - @size-modifier-border;
|
|
background-color: @background-color-base; // Support Fennec, Opera Mini: Remove default background, see T38490.
|
|
// Support Safari: Get rid of rounded corners.
|
|
-webkit-appearance: none;
|
|
width: 100%;
|
|
margin: 0;
|
|
height: 2.25em;
|
|
border: @border-width-base @border-style-base @border-color-inverted;
|
|
border-radius: @border-radius-base;
|
|
padding: @padding-vertical-search 0 @padding-vertical-search @padding-start-search-icon;
|
|
box-shadow: @box-shadow-drop-small;
|
|
// Keyboard focus is taken care of below at `.search:focus`.
|
|
outline: 0;
|
|
transition-property: border-color, box-shadow;
|
|
transition-duration: @transition-duration-medium;
|
|
font: inherit;
|
|
// Disable search background for cached HTML.
|
|
mask-image: none;
|
|
|
|
// [T139928] Hide all pseudo-elements added to search inputs in WebKit.
|
|
&::-webkit-search-decoration,
|
|
&::-webkit-search-cancel-button,
|
|
&::-webkit-search-results-button,
|
|
&::-webkit-search-results-decoration {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.search-box-icon-overlay {
|
|
position: absolute;
|
|
display: flex;
|
|
align-items: center;
|
|
left: 8px;
|
|
top: 0;
|
|
bottom: 0;
|
|
}
|
|
|
|
// Provide focus styles only in non-JS and overlay to prevent double transition.
|
|
.client-nojs .search-box .search:focus,
|
|
.search-overlay .search-box .search:focus {
|
|
border-color: @border-color-progressive--focus;
|
|
box-shadow: @box-shadow-inset-small @box-shadow-color-progressive--focus, 0 1px 1px rgba( 0, 0, 0, 0.05 );
|
|
}
|
|
|
|
.content {
|
|
.mw-heading2,
|
|
h2 {
|
|
// Clear table of contents and any other floated elements in desktop Minerva.
|
|
clear: left;
|
|
}
|
|
|
|
// Only reveal section edit links in expanded section headings.
|
|
// The .section-heading class is only present on mobile.
|
|
.section-heading {
|
|
.mw-editsection {
|
|
visibility: hidden;
|
|
}
|
|
|
|
&.open-block .mw-editsection,
|
|
.client-nojs & .mw-editsection {
|
|
visibility: visible;
|
|
}
|
|
}
|
|
|
|
/* For legacy parser */
|
|
.mw-parser-output > .mw-heading2,
|
|
.mw-parser-output > h2,
|
|
.mw-parser-output[ data-mw-parsoid-version ] > section > .mw-heading2,
|
|
.section-heading {
|
|
border-bottom: @border-width-base @border-style-base @border-color-muted;
|
|
margin-bottom: @margin-heading;
|
|
}
|
|
|
|
.mw-parser-output {
|
|
// We want to apply display: flex to the heading wrapper elements to style them right (T305971),
|
|
// but not to the heading text elements, because it results in bad text layout (T367468).
|
|
// This turns out to be difficult, because mobile/desktop, legacy/modern/unwrapped headings,
|
|
// and DiscussionTools/normal page generate a lot of different combinations of HTML markup.
|
|
|
|
// Support modern headings, DiscussionTools, and mobile mode
|
|
.mw-heading,
|
|
.section-heading {
|
|
display: flex;
|
|
// T356513: display after floated elements
|
|
min-width: fit-content;
|
|
}
|
|
|
|
// Support desktop Minerva legacy headings (this can only be done with a :has() selector,
|
|
// there's no other way to distinguish them from unwrapped headings, even though it lacks
|
|
// support for some browsers). Will be no longer needed when legacy headings are gone.
|
|
// FIXME: Remove this block when $wgParserEnableLegacyHeadingDOM is removed.
|
|
:is( h1, h2, h3, h4, h5, h6 ):has( .mw-headline ) {
|
|
display: flex;
|
|
}
|
|
|
|
// FIXME: Remove `.mw-headline` when $wgParserEnableLegacyHeadingDOM is removed.
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6,
|
|
.mw-headline {
|
|
flex-grow: 1;
|
|
flex-basis: 0;
|
|
margin-left: 0;
|
|
}
|
|
|
|
.mw-editsection {
|
|
align-self: center;
|
|
// Negative margins to prevent the edit icon from affecting the height of the heading
|
|
margin-top: -1em;
|
|
margin-bottom: -1em;
|
|
.cdx-mixin-button-layout-flush( 'end', true, 'large' );
|
|
|
|
.cdx-button {
|
|
font-size: 1rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// stylelint-disable selector-max-id
|
|
#page-secondary-actions {
|
|
a {
|
|
margin: 10px 2px 2px 0;
|
|
}
|
|
}
|
|
|
|
// It may be better to express these in a single class
|
|
// or think about using extend or a mixin to stay with semantic selectors
|
|
// https://css-tricks.com/the-extend-concept/
|
|
#bodyContent .panel .content,
|
|
.overlay .content-header,
|
|
.overlay .panel,
|
|
.mw-mf-page-list.side-list .list-thumb,
|
|
.mw-mf-page-list li,
|
|
.topic-title-list li,
|
|
.site-link-list li,
|
|
.drawer,
|
|
/*Specificity needed to override content styles in core. */
|
|
.content h2.list-header,
|
|
.list-header,
|
|
.mw-revision {
|
|
padding-left: @padding-content;
|
|
padding-right: @padding-content;
|
|
}
|
|
|
|
.image-list,
|
|
.minerva-anon-talk-message,
|
|
.pre-content,
|
|
/* Form only pages e.g Special:MobileOptions */
|
|
#mw-content-text > form > .oo-ui-fieldLayout > .oo-ui-fieldLayout-body,
|
|
/* Save button on Special:MobileOptions */
|
|
#mw-content-text > form > .oo-ui-widget,
|
|
.content,
|
|
.post-content {
|
|
margin: 0 @margin-content;
|
|
}
|
|
|
|
// T217197
|
|
#mw-content-subtitle {
|
|
margin-top: 10px;
|
|
margin-bottom: 10px;
|
|
|
|
&:empty {
|
|
margin: 0;
|
|
}
|
|
}
|
|
// stylelint-enable selector-max-id
|
|
|
|
@media all and ( min-width: @min-width-breakpoint-tablet ) {
|
|
/* FIXME: this should be one generic class name */
|
|
/* SpecialMobileEditWatchlist */
|
|
.page-summary-list,
|
|
/* Talk overlay */
|
|
.topic-title-list,
|
|
/* structured languages, mobile pagelists */
|
|
.site-link-list,
|
|
/* overlays */
|
|
.overlay .panel,
|
|
/* language overlay / MobileSpecialPageFeed */
|
|
.list-header {
|
|
padding-left: @padding-content-tablet;
|
|
padding-right: @padding-content-tablet;
|
|
}
|
|
}
|
|
/* stylelint-enable no-descending-specificity */
|