Header mobile fixes

This commit is contained in:
kvakazyambra 2022-10-18 01:03:49 +03:00
parent 313e675654
commit cbcacb643f
4 changed files with 47 additions and 13 deletions

View File

@ -33,3 +33,13 @@
transition: filter 0.2s; transition: filter 0.2s;
} }
} }
.floor--group {
@include media-breakpoint-down(sm) {
.col-lg-6 {
.row {
margin: 0 0 0 divide(-$container-padding-x, 2);
}
}
}
}

View File

@ -11,7 +11,7 @@ interface GroupProps {
export default (props: GroupProps) => { export default (props: GroupProps) => {
if (!props.articles) props.articles = [] if (!props.articles) props.articles = []
return ( return (
<div class="floor floor--important"> <div class="floor floor--important floor--group">
<Show when={props.articles.length > 4}> <Show when={props.articles.length > 4}>
<div class="wide-container row"> <div class="wide-container row">
<div class="group__header col-12">{props.header}</div> <div class="group__header col-12">{props.header}</div>

View File

@ -50,6 +50,11 @@
.headerFixed { .headerFixed {
position: fixed; position: fixed;
top: 0; top: 0;
.fixed & {
bottom: 0;
margin-bottom: 0;
}
} }
.headerInner { .headerInner {
@ -60,8 +65,7 @@
justify-content: space-between; justify-content: space-between;
margin: 0; margin: 0;
&.fixed { .fixed & {
border-bottom: 4px solid #000;
left: 0; left: 0;
position: fixed; position: fixed;
right: 0; right: 0;
@ -78,25 +82,33 @@
.mainLogo { .mainLogo {
align-items: center; align-items: center;
display: inline-flex; display: inline-flex;
height: 70px; height: 56px;
padding: 0 $container-padding-x 0 0; padding: 0 $container-padding-x 0 0;
position: relative; position: relative;
transition: height 0.2s; transition: height 0.2s;
text-align: center; text-align: center;
z-index: 9; z-index: 9;
@include media-breakpoint-up(md) {
height: 70px;
}
@include media-breakpoint-up(lg) { @include media-breakpoint-up(lg) {
height: 80px; height: 80px;
} }
img { img {
height: 32px; height: 20px;
object-fit: contain; object-fit: contain;
object-position: left; object-position: left;
transition: height 0.2s; transition: height 0.2s;
vertical-align: middle; vertical-align: middle;
width: 100px; width: 100px;
@include media-breakpoint-up(md) {
height: 32px;
}
@include media-breakpoint-up(lg) { @include media-breakpoint-up(lg) {
width: 175px; width: 175px;
} }
@ -129,6 +141,14 @@
padding-left: 0; padding-left: 0;
position: relative; position: relative;
@include font-size(1.7rem); @include font-size(1.7rem);
@include media-breakpoint-down(md) {
display: none;
}
.fixed & {
display: block;
}
} }
.mainNavigation { .mainNavigation {
@ -161,7 +181,7 @@
padding: divide($container-padding-x, 2); padding: divide($container-padding-x, 2);
} }
&.fixed { .fixed & {
display: inline-flex; display: inline-flex;
@include media-breakpoint-down(lg) { @include media-breakpoint-down(lg) {
@ -197,13 +217,9 @@
display: inline-flex; display: inline-flex;
float: right; float: right;
padding-right: 0; padding-right: 0;
padding-left: 0; padding-left: divide($container-padding-x, 2);
width: 2.2rem; width: 2.2rem;
@include media-breakpoint-up(sm) {
padding-left: divide($container-padding-x, 2);
}
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
display: none; display: none;
} }
@ -251,7 +267,7 @@
top: 0; top: 0;
} }
&.fixed { .fixed & {
> div { > div {
opacity: 0; opacity: 0;
transition: opacity 0s; transition: opacity 0s;
@ -292,6 +308,10 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
width: 100%; width: 100%;
@include media-breakpoint-down(md) {
display: none;
}
} }
.headerSearch { .headerSearch {
@ -321,6 +341,7 @@
.articleControls { .articleControls {
display: flex; display: flex;
justify-content: flex-end;
left: 0; left: 0;
position: absolute; position: absolute;
top: 50%; top: 50%;

View File

@ -51,7 +51,10 @@ export const Header = (props: Props) => {
const toggleFixed = () => setFixed(!fixed()) const toggleFixed = () => setFixed(!fixed())
// effects // effects
createEffect(() => { createEffect(() => {
document.body.classList.toggle('fixed', fixed() || (getModal() && getModal() !== 'share')); const isFixed = fixed() || (getModal() && getModal() !== 'share');
document.body.classList.toggle('fixed', isFixed);
document.body.classList.toggle(styles.fixed, isFixed);
}, [fixed(), getModal()]) }, [fixed(), getModal()])
// derived // derived