mediawiki-skins-Vector/resources/skins.vector.styles/components/Logo.less
Volker E b55d95c70c styles: Replace legacy Vector breakpoint tokens where applicable
Replacing the legacy Vector breakpoint tokens with the Codex
standard ones. All names have been unified, only some legacy values
remain for backwards compatibility.
Also
- replacing a wrongly applied min-width with the correct max-width
  token,
- replacing a width with an equal value min-width one and
- removing the now equal value mobile min-width one.

Note that we can't do some reference magic here alike
`@max-width-breakpoint-mobile: @min-width-breakpoint-tablet - 1px;` as
this would take the Codex value from skin variables and not the legacy
value.
Also note, that we could move all those Vector legacy definitions into
Vector's 'mediawiki.skin.variables.less' file(s), but that would mean
that extensions don't rely on the Codex default values, but on Vector's
and we want latter to move to the standard, also in foresight of
further standardization to build for all feature teams like a
shared Grid.

Bug: T331403
Change-Id: Ifb968b1977001edb1a79e20df387c61f27043542
2023-10-25 22:03:46 +00:00

74 lines
2.1 KiB
Plaintext

.mw-logo {
.flex-display();
// If icon is not configured, ensure that the logo still takes up available
// space allocated by layout.
height: 100%;
// Center vertically.
align-items: center;
// Hamburger menu icon with padding (22px + 12px = 46px) + right margin (12px) + logo (222px @ 16) + space between
// logo and searchbox (28px) = 296px which equals the sum of widths of sidebar elements (i.e. TOC) when toggled.
// 226px @ 16 provides correct spacing between the right edge of logo container + left edge of searchbox input.
min-width: 13.875em; // 222px @ 16
.vector-feature-main-menu-pinned-disabled & {
// The logo is 40px from the page container.
// Main menu button width (20px) + 20px = 40px
margin-left: 20px;
}
}
.mw-logo-icon {
// For browsers which do not support flexbox we float left.
// This will be ignored in flexbox browsers.
float: left;
margin-right: 10px;
// Hide mobile icon at lower resolutions and defer to wordmark
display: none;
@size-mw-logo-icon: unit( 50 / @font-size-browser, em );
width: @size-mw-logo-icon;
height: @size-mw-logo-icon;
@media ( min-width: @min-width-breakpoint-tablet ) {
display: block;
}
}
.mw-logo-container {
// For browsers which do not support flexbox we float left.
// This will be ignored in flexbox browsers.
// The two children `div`s will lay out in a row.
float: left;
// At mobile resolutions restrict logo to 120px to optimize for a 340px display (@min-width-supported)
// (based on https://gs.statcounter.com/screen-resolution-stats/mobile/worldwide)
// This accounts for up to 5 icons
// (Echo notifications x 2, search, hamburger and personal menu)
// where the icons have 44px each (44x5 = 220px)
max-width: 120px;
img {
width: 100%;
}
@media ( min-width: @min-width-breakpoint-tablet ) {
max-width: none;
img {
width: auto;
}
}
}
// Note for 3rd parties where no wgLogos['wordmark'] is defined
// the site title is not clipped. We may need to revisit this later
// for projects with long site titles.
.mw-logo-wordmark {
display: block;
margin: 0 auto;
}
.mw-logo-tagline {
// For browsers which do not support flexbox.
display: block;
margin: 5px auto 0;
}