From 6bb2f84c7a4809e62edbb426919737e8656bcbab Mon Sep 17 00:00:00 2001 From: Volpeon Date: Tue, 22 Jul 2025 19:03:17 +0200 Subject: Card list: Improved merge layout --- src/layouts/_card-list.scss | 20 ++++++++++++++++---- src/layouts/_card-list.vars.scss | 6 ++++-- 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'src/layouts') diff --git a/src/layouts/_card-list.scss b/src/layouts/_card-list.scss index abb0277..8774b5a 100644 --- a/src/layouts/_card-list.scss +++ b/src/layouts/_card-list.scss @@ -17,21 +17,33 @@ @include bem.modifier('merge') { position: relative; - gap: props.get(vars.$border-width); - background-color: props.get(vars.$border-color); + gap: calc(2 * props.get(vars.$merge-padding) + props.get(vars.$border-width)); + padding: props.get(vars.$merge-padding); + background-color: props.get(vars.$card-bg-color); border: props.get(vars.$border-width) solid props.get(vars.$border-color); - border-radius: props.get(vars.$rounding); + border-radius: calc(props.get(vars.$rounding) + props.get(vars.$merge-padding)); @include bem.elem('card') { &:not(:last-child) { border-end-start-radius: 0; border-end-end-radius: 0; + + &::after { + content: ''; + display: block; + inline-size: calc(100% + 2 * props.get(vars.$merge-padding) + 2 * props.get(vars.$border-width)); + margin: + calc(props.get(vars.$merge-padding) + 2 * props.get(vars.$border-width)) + calc(-1 * props.get(vars.$merge-padding) - props.get(vars.$border-width)) + calc(-1 * props.get(vars.$merge-padding) - 2 * props.get(vars.$border-width)); + block-size: props.get(vars.$border-width); + background-color: props.get(vars.$border-color); + } } &:hover, &:active, &:focus-visible { - z-index: 10; transform: none; } diff --git a/src/layouts/_card-list.vars.scss b/src/layouts/_card-list.vars.scss index 0c8d702..b4f30d9 100644 --- a/src/layouts/_card-list.vars.scss +++ b/src/layouts/_card-list.vars.scss @@ -3,6 +3,7 @@ @use '../objects/card' as card; $border-width: props.def(--l-card-list--border-width, props.get(card.$border-width)) !default; +$merge-padding: props.def(--l-card-list--merge-padding, props.get(core.$border-width--thick)) !default; $rounding: props.def(--l-card-list--rounding, props.get(card.$rounding)) !default; $row-gap: props.def(--l-card-list--row-gap, props.get(core.$size--100)) !default; @@ -28,5 +29,6 @@ $masonry-h--col-gap: props.def(--l-card-list--masonry-h--col-gap, props.g $masonry-h--row-height: props.def(--l-card-list--masonry-h--row-height, props.get(core.$size--3200)) !default; $masonry-h--quiet--row-gap: props.def(--l-card-list--masonry-h--quiet--row-gap, props.get(core.$size--800)) !default; -$card-bg-color: props.def(--l-card-list--bg-color, props.get(card.$bg-color), 'color') !default; -$border-color: props.def(--l-card-list--border-color, props.get(card.$border-color), 'color') !default; +$card-bg-color: props.def(--l-card-list--bg-color, props.get(card.$bg-color), 'color') !default; +$border-color: props.def(--l-card-list--border-color, props.get(card.$border-color), 'color') !default; +$border-color-dark: props.def(--l-card-list--border-color, props.get(core.$theme, --bg-l1), 'dark') !default; -- cgit v1.2.3-70-g09d2