mediawiki-skins-Vector/resources/skins.vector.styles/layouts/grid.less

84 lines
1.7 KiB
Plaintext
Raw Normal View History

//
// Grid layout
//
.mixin-column-full-width() {
grid-column: sidebar / content;
margin-left: auto;
margin-right: auto;
// Needed for minimal content e.g. one word articles.
width: 100%;
}
.vector-layout-grid {
@media ( max-width: @width-breakpoint-tablet ) {
.mw-header {
// Should match grid-template-rows definition below.
height: 66px;
// Should match row-gap below.
margin-bottom: 24px;
}
}
@media ( min-width: @width-breakpoint-tablet ) {
.mw-page-container-inner {
display: grid;
width: 100%;
grid-template: ~'66px auto 1fr / 232px 20px minmax(0, 1fr)';
grid-template-areas: 'header header header'
'sidebar gutter content'
'footer footer footer';
row-gap: 24px;
}
.mw-body {
padding-left: 0;
}
.mw-header {
grid-area: header;
}
.vector-sidebar-container {
grid-area: sidebar;
}
.mw-content-container {
grid-area: content;
}
.mw-footer-container {
grid-area: footer;
}
}
@media ( min-width: @width-breakpoint-desktop ) {
.mw-page-container-inner {
grid-template-columns: ~'284px 20px 1fr';
}
}
/**
* Special handling for sidebar when table of contents is visible.
* Cover the cases where:
* 1) the main menu is closed, there is no TOC in the sidebar
* 2) the main menu is closed, the sidebar TOC is hidden at the breakpoint.
* In these situation content should span the entire page.
*/
@media ( max-width: @width-breakpoint-desktop ) {
@{selector-sidebar-container-sidebar-closed} {
display: none;
& + .mw-content-container {
.mixin-column-full-width();
}
}
}
@{selector-sidebar-no-toc-sidebar-closed} {
& + .mw-content-container {
.mixin-column-full-width();
}
}
}