feat(store-header): refine immersive mobile layout
This commit is contained in:
@@ -195,3 +195,140 @@
|
||||
font-size: clamp(3rem, 12vw, 5rem);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.immersive-header:not(.immersive-header--compact) {
|
||||
min-height: 0;
|
||||
|
||||
.immersive-header__content {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto auto;
|
||||
align-items: center;
|
||||
padding: 1.25rem 0 0;
|
||||
}
|
||||
|
||||
// Keep one search form while placing it below the hero copy on mobile.
|
||||
.immersive-header__nav,
|
||||
.immersive-header__actions {
|
||||
display: contents;
|
||||
}
|
||||
|
||||
.immersive-header__brand {
|
||||
grid-area: 1 / 1;
|
||||
margin-left: 8vw;
|
||||
}
|
||||
|
||||
.immersive-header__brand img {
|
||||
width: clamp(105px, 34vw, 145px);
|
||||
}
|
||||
|
||||
app-cart-icon {
|
||||
grid-area: 1 / 2;
|
||||
}
|
||||
|
||||
.immersive-header__account {
|
||||
grid-area: 1 / 3;
|
||||
margin-right: calc(8vw - 0.75rem);
|
||||
}
|
||||
|
||||
.immersive-header__timer {
|
||||
grid-area: 2 / 1 / auto / -1;
|
||||
}
|
||||
|
||||
.immersive-header__copy {
|
||||
grid-area: 3 / 1 / auto / -1;
|
||||
margin: 1rem 0 0;
|
||||
}
|
||||
|
||||
.immersive-header__eyebrow {
|
||||
font-size: clamp(18px, 5.5vw, 24px);
|
||||
}
|
||||
|
||||
.immersive-header__title {
|
||||
font-size: clamp(42px, 13vw, 64px);
|
||||
line-height: 0.95;
|
||||
}
|
||||
|
||||
.immersive-header__description {
|
||||
margin-top: 2rem;
|
||||
font-size: clamp(11px, 3vw, 14px);
|
||||
}
|
||||
|
||||
.immersive-header__search {
|
||||
grid-area: 4 / 1 / auto / -1;
|
||||
width: 76%;
|
||||
max-width: 28rem;
|
||||
margin: 0.5rem auto 0;
|
||||
}
|
||||
|
||||
.immersive-header__search-error {
|
||||
right: auto;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
app-continuous-image-carousel {
|
||||
grid-area: 5 / 1 / auto / -1;
|
||||
margin-top: 1.5rem;
|
||||
--carousel-card-width: 27vw;
|
||||
--carousel-gap: 3.3vw;
|
||||
--carousel-offset: -9vw;
|
||||
}
|
||||
|
||||
.immersive-header__backdrop-image {
|
||||
object-position: center 42%;
|
||||
}
|
||||
|
||||
.immersive-header__backdrop {
|
||||
// Fade the entire layer so its dark base cannot leave a subpixel seam.
|
||||
mask-image: linear-gradient(#000 calc(100% - 8px), transparent 100%);
|
||||
}
|
||||
|
||||
.immersive-header__backdrop::after {
|
||||
background: linear-gradient(
|
||||
180deg,
|
||||
rgba(0, 0, 0, 0.45) 0%,
|
||||
rgba(0, 0, 0, 0.15) 55%,
|
||||
rgba(245, 245, 245, 0.55) 75%,
|
||||
#f5f5f5 95%,
|
||||
#f5f5f5 100%
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
:host ::ng-deep .immersive-header:not(.immersive-header--compact) {
|
||||
.immersive-header__search .form-control {
|
||||
min-height: 36px;
|
||||
padding: 0.25rem 2.5rem 0.25rem 0.75rem;
|
||||
border: 1px solid rgba(255, 255, 255, 0.85);
|
||||
border-radius: 3px;
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
|
||||
&::placeholder {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: 2px solid #fff;
|
||||
outline-offset: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.immersive-header__search .input-search-icon {
|
||||
color: #fff;
|
||||
right: 0.75rem;
|
||||
}
|
||||
|
||||
.immersive-header__account .icon-btn {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
|
||||
i {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,20 +14,21 @@
|
||||
.continuous-carousel__track {
|
||||
display: flex;
|
||||
width: max-content;
|
||||
margin-left: var(--carousel-offset, 0px);
|
||||
animation: continuous-carousel-scroll var(--duration) linear infinite;
|
||||
}
|
||||
|
||||
.continuous-carousel__set {
|
||||
display: flex;
|
||||
flex: none;
|
||||
gap: var(--gap);
|
||||
padding-right: var(--gap);
|
||||
gap: var(--carousel-gap, var(--gap));
|
||||
padding-right: var(--carousel-gap, var(--gap));
|
||||
}
|
||||
|
||||
.continuous-carousel__image {
|
||||
display: block;
|
||||
flex: none;
|
||||
width: var(--card-width);
|
||||
width: var(--carousel-card-width, var(--card-width));
|
||||
aspect-ratio: 1.45;
|
||||
object-fit: cover;
|
||||
border-radius: 2px;
|
||||
@@ -64,6 +65,7 @@
|
||||
}
|
||||
.continuous-carousel__track {
|
||||
animation: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
.continuous-carousel__set[aria-hidden='true'] {
|
||||
display: none;
|
||||
|
||||
Reference in New Issue
Block a user