diff options
Diffstat (limited to 'src/objects/_card.scss')
-rw-r--r-- | src/objects/_card.scss | 45 |
1 files changed, 34 insertions, 11 deletions
diff --git a/src/objects/_card.scss b/src/objects/_card.scss index 6b80e2f..e80df2c 100644 --- a/src/objects/_card.scss +++ b/src/objects/_card.scss | |||
@@ -14,12 +14,11 @@ | |||
14 | position: relative; | 14 | position: relative; |
15 | display: flex; | 15 | display: flex; |
16 | flex-direction: column; | 16 | flex-direction: column; |
17 | background-clip: content-box; | ||
18 | background-color: props.get(vars.$bg-color); | 17 | background-color: props.get(vars.$bg-color); |
19 | border: props.get(vars.$border-width) solid transparent; | 18 | border: props.get(vars.$border-width) solid transparent; |
20 | border-color: props.get(vars.$border-color); | 19 | border-color: props.get(vars.$border-color); |
21 | border-radius: props.get(vars.$rounding); | 20 | border-radius: props.get(vars.$rounding); |
22 | transition: transform .2s, background-color .2s, border-color .2s; | 21 | transition: transform .2s, background-color .2s, border-color .2s, box-shadow .2s; |
23 | 22 | ||
24 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { | 23 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { |
25 | &:hover, | 24 | &:hover, |
@@ -28,6 +27,7 @@ | |||
28 | transform: translateY(props.get(vars.$hover--offset-b)); | 27 | transform: translateY(props.get(vars.$hover--offset-b)); |
29 | background-color: props.get(vars.$hover--bg-color); | 28 | background-color: props.get(vars.$hover--bg-color); |
30 | border-color: props.get(vars.$hover--border-color); | 29 | border-color: props.get(vars.$hover--border-color); |
30 | box-shadow: none; | ||
31 | } | 31 | } |
32 | 32 | ||
33 | &:focus-visible { | 33 | &:focus-visible { |
@@ -42,19 +42,44 @@ | |||
42 | } | 42 | } |
43 | } | 43 | } |
44 | 44 | ||
45 | @include bem.modifier('borderless') { | ||
46 | border-color: props.get(vars.$bg-color); | ||
47 | } | ||
48 | |||
49 | @include bem.modifier('shadow') { | ||
50 | box-shadow: | ||
51 | props.get(vars.$shadow-x) | ||
52 | props.get(vars.$shadow-y) | ||
53 | props.get(vars.$shadow-blur) | ||
54 | props.get(vars.$shadow-grow) | ||
55 | props.get(vars.$shadow-color); | ||
56 | |||
57 | @include bem.modifier('quiet') { | ||
58 | @include bem.elem('image') { | ||
59 | box-shadow: | ||
60 | props.get(vars.$shadow-x) | ||
61 | props.get(vars.$shadow-y) | ||
62 | props.get(vars.$shadow-blur) | ||
63 | props.get(vars.$shadow-grow) | ||
64 | props.get(vars.$shadow-color); | ||
65 | } | ||
66 | } | ||
67 | } | ||
68 | |||
45 | @include bem.elem('avatar') { | 69 | @include bem.elem('avatar') { |
46 | margin-block-start: props.get(vars.$pad-b); | 70 | margin-block-start: props.get(vars.$pad-b); |
47 | margin-inline-start: props.get(vars.$pad-i); | 71 | margin-inline-start: props.get(vars.$pad-i); |
48 | } | 72 | } |
49 | 73 | ||
50 | @include bem.elem('image') { | 74 | @include bem.elem('image') { |
51 | position: relative; | 75 | position: relative; |
52 | display: block; | 76 | display: block; |
53 | flex: 0 0 auto; | 77 | flex: 0 0 auto; |
54 | inline-size: 100%; | 78 | inline-size: calc(100% + 2 * props.get(vars.$border-width)); |
55 | overflow: hidden; | 79 | margin: calc(-1 * props.get(vars.$border-width)); |
56 | object-fit: cover; | 80 | overflow: hidden; |
57 | transition: background-color .2s, transform .2s, opacity .2s; | 81 | object-fit: cover; |
82 | transition: background-color .2s, transform .2s, opacity .2s; | ||
58 | 83 | ||
59 | &:first-child { | 84 | &:first-child { |
60 | border-start-start-radius: calc(props.get(vars.$rounding) - props.get(vars.$border-width)); | 85 | border-start-start-radius: calc(props.get(vars.$rounding) - props.get(vars.$border-width)); |
@@ -179,8 +204,6 @@ | |||
179 | 204 | ||
180 | @include bem.modifier('thumbnail') { | 205 | @include bem.modifier('thumbnail') { |
181 | @include bem.elem('image') { | 206 | @include bem.elem('image') { |
182 | inline-size: calc(100% + 2 * props.get(vars.$border-width)); | ||
183 | margin: calc(-1 * props.get(vars.$border-width)); | ||
184 | border-radius: props.get(vars.$rounding); | 207 | border-radius: props.get(vars.$rounding); |
185 | } | 208 | } |
186 | 209 | ||