diff options
Diffstat (limited to 'src/objects/_card.scss')
-rw-r--r-- | src/objects/_card.scss | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/src/objects/_card.scss b/src/objects/_card.scss index e6f266d..c87e676 100644 --- a/src/objects/_card.scss +++ b/src/objects/_card.scss | |||
@@ -55,11 +55,13 @@ | |||
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: background-color .2s, transform .2s, opacity .2s; |
63 | 65 | ||
64 | &:first-child { | 66 | &:first-child { |
65 | border-start-start-radius: props.get(vars.$rounding); | 67 | border-start-start-radius: props.get(vars.$rounding); |
@@ -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: 5; | ||
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); |
@@ -128,8 +145,7 @@ | |||
128 | } | 145 | } |
129 | 146 | ||
130 | @include bem.modifier('quiet') { | 147 | @include bem.modifier('quiet') { |
131 | position: relative; | 148 | margin-inline: 0; |
132 | margin: 0; | ||
133 | background-color: transparent; | 149 | background-color: transparent; |
134 | border: 0; | 150 | border: 0; |
135 | 151 | ||
@@ -144,6 +160,12 @@ | |||
144 | opacity: .75; | 160 | opacity: .75; |
145 | transform: translateY(props.get(vars.$hover--offset-b)); | 161 | transform: translateY(props.get(vars.$hover--offset-b)); |
146 | } | 162 | } |
163 | |||
164 | @include bem.elem('body') { | ||
165 | @include bem.modifier('hidden') { | ||
166 | transform: translateY(props.get(vars.$hover--offset-b)); | ||
167 | } | ||
168 | } | ||
147 | } | 169 | } |
148 | 170 | ||
149 | &:focus-visible { | 171 | &:focus-visible { |
@@ -176,6 +198,11 @@ | |||
176 | @include bem.elem('body') { | 198 | @include bem.elem('body') { |
177 | padding: 0; | 199 | padding: 0; |
178 | padding-block-start: props.get(vars.$spacing); | 200 | padding-block-start: props.get(vars.$spacing); |
201 | |||
202 | @include bem.modifier('hidden') { | ||
203 | padding-block: props.get(vars.$pad-b); | ||
204 | padding-inline: props.get(vars.$pad-i); | ||
205 | } | ||
179 | } | 206 | } |
180 | 207 | ||
181 | @include bem.elem('footer') { | 208 | @include bem.elem('footer') { |
@@ -187,6 +214,21 @@ | |||
187 | flex-direction: row; | 214 | flex-direction: row; |
188 | align-items: center; | 215 | align-items: center; |
189 | 216 | ||
217 | @include bem.elem('image') { | ||
218 | align-self: stretch; | ||
219 | inline-size: auto; | ||
220 | |||
221 | &:first-child { | ||
222 | border-start-end-radius: 0; | ||
223 | border-end-start-radius: props.get(vars.$rounding); | ||
224 | } | ||
225 | |||
226 | &:last-child { | ||
227 | border-start-end-radius: props.get(vars.$rounding); | ||
228 | border-end-start-radius: 0; | ||
229 | } | ||
230 | } | ||
231 | |||
190 | @include bem.elem('body') { | 232 | @include bem.elem('body') { |
191 | flex: 0 0 auto; | 233 | flex: 0 0 auto; |
192 | 234 | ||