mediawiki-skins-Citizen/resources/skins.citizen.styles/layout.less
alistair3149 2794a3269c
fix(core): 🐛 explictly set z-index for body container
That should avoid position relative elements from going over the sticky header.

Closes: #577
2024-07-09 18:28:31 -04:00

90 lines
1.9 KiB
Plaintext

.citizen-page-container {
display: flex; // Should fix weird margin issues
flex-direction: column;
min-height: 100vh; // Ensure footer goes to the bottom of the page
min-height: stretch; // for iOS, excludes safe areas
}
.mw-body,
.parsoid-body {
min-height: 100vh; // avoid footer being in the middle of the page
}
.citizen-body-container {
display: grid;
grid-template-areas:
'header'
'afterHeader'
'content'
'footer';
// Using auto as min value will cause overflow
grid-template-columns: minmax( 0, var( --width-layout ) );
gap: 0 var( --space-xl );
justify-content: center;
padding: 0 var( --padding-page );
margin: var( --space-xl ) 0; // don't collide with other components (e.g. notice)
}
.citizen-page-header {
z-index: @z-index-above-content;
display: flex;
flex-wrap: wrap;
grid-area: header;
gap: var( --space-md );
align-items: center;
padding-top: var( --space-md );
padding-bottom: var( --space-md );
}
.citizen-page-heading {
flex-grow: 1;
}
.firstHeading-container {
display: flex;
flex-wrap: wrap;
align-items: center;
}
.citizen-body {
z-index: @z-index-base; // Stop body content going over sticky header
grid-area: content;
}
@media ( min-width: @min-width-breakpoint-desktop ) {
.citizen-page-container {
// Reserve space for header
margin-left: var( --header-size );
}
.citizen-toc-enabled {
.citizen-body-container {
grid-template-areas:
'header header'
'afterHeader afterHeader'
'content sidebar'
'footer footer';
grid-template-columns: minmax( 0, var( --width-layout ) ) var( --width-toc );
}
}
.citizen-animations-ready {
.citizen-body-container {
transition: var( --transition-menu );
transition-property: grid;
}
}
}
/* Wider page width for certain namespaces */
@media ( min-width: @min-width-breakpoint-desktop-wide ) {
// 1 - Special, 6 - File, 14 - Category
.ns {
&--1,
&-6,
&-14 {
--width-layout: var( --width-layout--extended );
}
}
}