495a3b0289
* refactor(WIP): add new SCSS mixin `respond` Theme's stylesheet mixes the use of max-width and min-width for responsive design, and it's horrible. * refactor: update variable.scss to use @mixin respond * refactor(grid): adjust sidebar max-width * refactor(partials/article.scss): use `@include respond` * refactor(layout/article.scss): delete unused SCSS and migrate to `@include respond` * Adjust left sidebar max-width on xl screen * fix: right sidebar not sticky * refactor(breakpoint): simplify `@mixin respond` * refactor(breakpoints): improve warning message * fix(breakpoint): return only the requested breakpoint * fix: add missing padding to .article-details
113 lines
2.0 KiB
SCSS
113 lines
2.0 KiB
SCSS
.container {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
|
|
.left-sidebar {
|
|
max-width: var(--left-sidebar-max-width);
|
|
}
|
|
|
|
.right-sidebar {
|
|
max-width: var(--right-sidebar-max-width);
|
|
|
|
/// Display right sidebar when min-width: lg
|
|
@include respond(lg) {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
&.extended {
|
|
@include respond(md) {
|
|
max-width: 1024px;
|
|
--left-sidebar-max-width: 25%;
|
|
--right-sidebar-max-width: 30%;
|
|
}
|
|
|
|
@include respond(lg) {
|
|
max-width: 1280px;
|
|
--left-sidebar-max-width: 20%;
|
|
--right-sidebar-max-width: 30%;
|
|
}
|
|
|
|
@include respond(xl) {
|
|
max-width: 1536px;
|
|
--left-sidebar-max-width: 15%;
|
|
--right-sidebar-max-width: 25%;
|
|
}
|
|
}
|
|
|
|
&.compact {
|
|
@include respond(md) {
|
|
--left-sidebar-max-width: 25%;
|
|
max-width: 768px;
|
|
}
|
|
|
|
@include respond(lg) {
|
|
max-width: 1024px;
|
|
--left-sidebar-max-width: 20%;
|
|
}
|
|
|
|
@include respond(xl) {
|
|
max-width: 1280px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.flex {
|
|
display: flex;
|
|
flex-direction: row;
|
|
|
|
&.column {
|
|
flex-direction: column;
|
|
}
|
|
|
|
&.on-phone--column {
|
|
flex-direction: column;
|
|
@include respond(md) {
|
|
flex-direction: unset;
|
|
}
|
|
}
|
|
|
|
&.align-items--flex-start {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.grow {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.do-not-shrink {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.do-not-overflow {
|
|
min-width: 0;
|
|
flex-shrink: 1;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.full-width {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
main.main {
|
|
min-width: 0;
|
|
padding: 0 15px;
|
|
max-width: 100%;
|
|
flex-grow: 1;
|
|
padding-top: var(--main-top-padding);
|
|
}
|
|
|
|
.main-container {
|
|
min-height: 100vh;
|
|
align-items: flex-start;
|
|
|
|
@include respond(md) {
|
|
padding: 0 10px;
|
|
}
|
|
|
|
@include respond(lg) {
|
|
padding: 0 20px;
|
|
}
|
|
}
|