Show banner at full width with natural aspect ratio
- Banner is now a real <img> in a full-width grid row (grid-column: 1/-1, grid-row: 2) between the card header (row 1) and footer (row 3) - Cards span all 3 rows with justify-content: space-between - image width: 100%; height: auto; preserves natural 1584x672 aspect ratio - pointer-events: none so clicks pass through to cards - z-index: 0 on banner, z-index: 1 on cards - Dropdown swaps img src directly
This commit is contained in:
+9
-3
@@ -75,7 +75,15 @@
|
|||||||
experience.
|
experience.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="brands-grid" role="list" id="brands-grid">
|
<div class="brands-grid" role="list">
|
||||||
|
|
||||||
|
<!-- Full-width banner between header and footer -->
|
||||||
|
<img
|
||||||
|
class="brands-banner-img"
|
||||||
|
id="brands-banner-img"
|
||||||
|
src="asset/banner/1.png"
|
||||||
|
alt="Brand banner"
|
||||||
|
/>
|
||||||
|
|
||||||
<!-- FI-NE (left half) -->
|
<!-- FI-NE (left half) -->
|
||||||
<a
|
<a
|
||||||
@@ -100,7 +108,6 @@
|
|||||||
alt="[fi-ne] brand logo"
|
alt="[fi-ne] brand logo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="brand-card-spacer" aria-hidden="true"></div>
|
|
||||||
<div class="brand-card-footer">
|
<div class="brand-card-footer">
|
||||||
<span class="brand-card-tagline">
|
<span class="brand-card-tagline">
|
||||||
Clean. Unisex. Uncompromisingly effective.<br />
|
Clean. Unisex. Uncompromisingly effective.<br />
|
||||||
@@ -140,7 +147,6 @@
|
|||||||
alt="LACUEOR brand logo"
|
alt="LACUEOR brand logo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="brand-card-spacer" aria-hidden="true"></div>
|
|
||||||
<div class="brand-card-footer">
|
<div class="brand-card-footer">
|
||||||
<span class="brand-card-tagline">
|
<span class="brand-card-tagline">
|
||||||
From the quantum realm to your skin.<br />
|
From the quantum realm to your skin.<br />
|
||||||
|
|||||||
@@ -37,12 +37,15 @@
|
|||||||
|
|
||||||
/* ── Banner image selector ──────────────────────────────── */
|
/* ── Banner image selector ──────────────────────────────── */
|
||||||
var bannerPicker = document.getElementById("banner-picker");
|
var bannerPicker = document.getElementById("banner-picker");
|
||||||
var brandsGrid = document.getElementById("brands-grid");
|
var bannerImg = document.getElementById("brands-banner-img");
|
||||||
if (bannerPicker && brandsGrid) {
|
if (bannerPicker && bannerImg) {
|
||||||
bannerPicker.addEventListener("change", function () {
|
bannerPicker.addEventListener("change", function () {
|
||||||
var val = this.value;
|
var val = this.value;
|
||||||
brandsGrid.style.backgroundImage =
|
bannerImg.style.opacity = "0";
|
||||||
"url(asset/banner/" + val + ".png)";
|
setTimeout(function () {
|
||||||
|
bannerImg.src = "asset/banner/" + val + ".png";
|
||||||
|
bannerImg.style.opacity = "1";
|
||||||
|
}, 200);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -379,14 +379,20 @@ body::before {
|
|||||||
.brands-grid {
|
.brands-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
gap: 0;
|
|
||||||
max-width: 1200px;
|
max-width: 1200px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background-image: url("asset/banner/1.png");
|
}
|
||||||
background-size: cover;
|
|
||||||
background-position: center;
|
/* Full-width banner spanning both columns in the middle row */
|
||||||
background-repeat: no-repeat;
|
.brands-banner-img {
|
||||||
transition: background-image 0.4s ease;
|
grid-column: 1 / -1;
|
||||||
|
grid-row: 2;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
display: block;
|
||||||
|
z-index: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
transition: opacity 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-card {
|
.brand-card {
|
||||||
@@ -394,16 +400,20 @@ body::before {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
grid-row: 1 / 4;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-card--fine {
|
.brand-card--fine {
|
||||||
|
grid-column: 1;
|
||||||
border-right: 1px solid var(--border);
|
border-right: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-card--lacueor {
|
.brand-card--lacueor {
|
||||||
/* inherits background from grid */
|
grid-column: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-card-header {
|
.brand-card-header {
|
||||||
@@ -420,11 +430,6 @@ body::before {
|
|||||||
background: var(--lacueor-dark);
|
background: var(--lacueor-dark);
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-card-spacer {
|
|
||||||
flex: 1;
|
|
||||||
min-height: 280px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.brand-card-footer {
|
.brand-card-footer {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
padding: 20px 52px 40px;
|
padding: 20px 52px 40px;
|
||||||
@@ -439,7 +444,7 @@ body::before {
|
|||||||
background: var(--lacueor-dark);
|
background: var(--lacueor-dark);
|
||||||
}
|
}
|
||||||
|
|
||||||
.brand-card-image {
|
.brand-card-spacer {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user