diff options
author | Volpeon <git@volpeon.ink> | 2024-11-23 12:35:42 +0100 |
---|---|---|
committer | Volpeon <git@volpeon.ink> | 2024-11-23 12:35:42 +0100 |
commit | f5e2addd72ab0b4801fdb4745eae5cee01ae12fe (patch) | |
tree | 9f6cadd2d46a0ce9677f519e1f5b0370e3c10eb9 /src | |
parent | Update s-figures (diff) | |
download | iro-design-f5e2addd72ab0b4801fdb4745eae5cee01ae12fe.tar.gz iro-design-f5e2addd72ab0b4801fdb4745eae5cee01ae12fe.tar.bz2 iro-design-f5e2addd72ab0b4801fdb4745eae5cee01ae12fe.zip |
Add card image overlays
Diffstat (limited to 'src')
-rw-r--r-- | src/objects/_card.scss | 21 | ||||
-rw-r--r-- | src/objects/_card.vars.scss | 12 |
2 files changed, 26 insertions, 7 deletions
diff --git a/src/objects/_card.scss b/src/objects/_card.scss index e6f266d..d1463d3 100644 --- a/src/objects/_card.scss +++ b/src/objects/_card.scss | |||
@@ -14,7 +14,7 @@ | |||
14 | position: relative; | 14 | position: relative; |
15 | display: flex; | 15 | display: flex; |
16 | flex-direction: column; | 16 | flex-direction: column; |
17 | margin: calc(-1 * props.get(vars.$key-focus--border-width)); | 17 | margin-inline: calc(-1 * props.get(vars.$key-focus--border-width)); |
18 | background-color: props.get(vars.$bg-color); | 18 | background-color: props.get(vars.$bg-color); |
19 | background-clip: content-box; | 19 | background-clip: content-box; |
20 | border: props.get(vars.$key-focus--border-offset) solid transparent; | 20 | border: props.get(vars.$key-focus--border-offset) solid transparent; |
@@ -55,9 +55,11 @@ | |||
55 | } | 55 | } |
56 | 56 | ||
57 | @include bem.elem('image') { | 57 | @include bem.elem('image') { |
58 | position: relative; | ||
58 | display: block; | 59 | display: block; |
59 | flex: 0 0 auto; | 60 | flex: 0 0 auto; |
60 | inline-size: 100%; | 61 | inline-size: 100%; |
62 | overflow: hidden; | ||
61 | object-fit: cover; | 63 | object-fit: cover; |
62 | transition: transform .2s, opacity .2s; | 64 | transition: transform .2s, opacity .2s; |
63 | 65 | ||
@@ -76,6 +78,21 @@ | |||
76 | } | 78 | } |
77 | } | 79 | } |
78 | 80 | ||
81 | @include bem.elem('image-img') { | ||
82 | display: block; | ||
83 | inline-size: 100%; | ||
84 | object-fit: cover; | ||
85 | } | ||
86 | |||
87 | @include bem.elem('image-overlay') { | ||
88 | position: absolute; | ||
89 | inset-block-end: 0; | ||
90 | inset-inline: 0; | ||
91 | z-index: 10; | ||
92 | padding-block: props.get(vars.$image-overlay--pad-b); | ||
93 | padding-inline: props.get(vars.$image-overlay--pad-i); | ||
94 | } | ||
95 | |||
79 | @include bem.elem('body') { | 96 | @include bem.elem('body') { |
80 | flex: 1 0 auto; | 97 | flex: 1 0 auto; |
81 | padding-block: props.get(vars.$pad-b); | 98 | padding-block: props.get(vars.$pad-b); |
@@ -129,7 +146,7 @@ | |||
129 | 146 | ||
130 | @include bem.modifier('quiet') { | 147 | @include bem.modifier('quiet') { |
131 | position: relative; | 148 | position: relative; |
132 | margin: 0; | 149 | margin-inline: 0; |
133 | background-color: transparent; | 150 | background-color: transparent; |
134 | border: 0; | 151 | border: 0; |
135 | 152 | ||
diff --git a/src/objects/_card.vars.scss b/src/objects/_card.vars.scss index 8ee7158..9cdc177 100644 --- a/src/objects/_card.vars.scss +++ b/src/objects/_card.vars.scss | |||
@@ -2,11 +2,13 @@ | |||
2 | @use 'iro-sass/src/props'; | 2 | @use 'iro-sass/src/props'; |
3 | @use '../core.vars' as core; | 3 | @use '../core.vars' as core; |
4 | 4 | ||
5 | $divider-width: props.def(--o-card--divider-width, props.get(core.$border-width--thin)) !default; | 5 | $divider-width: props.def(--o-card--divider-width, props.get(core.$border-width--thin)) !default; |
6 | $pad-i: props.def(--o-card--pad-i, props.get(core.$size--300)) !default; | 6 | $pad-i: props.def(--o-card--pad-i, props.get(core.$size--300)) !default; |
7 | $pad-b: props.def(--o-card--pad-b, props.get(core.$size--250)) !default; | 7 | $pad-b: props.def(--o-card--pad-b, props.get(core.$size--250)) !default; |
8 | $spacing: props.def(--o-card--spacing, props.get(core.$size--200)) !default; | 8 | $spacing: props.def(--o-card--spacing, props.get(core.$size--200)) !default; |
9 | $rounding: props.def(--o-card--rounding, props.get(core.$rounding)) !default; | 9 | $rounding: props.def(--o-card--rounding, props.get(core.$rounding)) !default; |
10 | $image-overlay--pad-i: props.def(--o-card--image-overlay--pad-i, calc(.5 * props.get($pad-i))) !default; | ||
11 | $image-overlay--pad-b: props.def(--o-card--image-overlay--pad-b, calc(.5 * props.get($pad-b))) !default; | ||
10 | 12 | ||
11 | $hover--offset-b: props.def(--o-card--hover--offset-b, calc(-1 * props.get(core.$size--65))) !default; | 13 | $hover--offset-b: props.def(--o-card--hover--offset-b, calc(-1 * props.get(core.$size--65))) !default; |
12 | 14 | ||