Files
bulma/sass/components/card.scss

154 lines
3.9 KiB
SCSS
Raw Normal View History

2022-11-23 17:44:02 +00:00
@import "../utilities/mixins";
2022-12-06 00:47:43 +00:00
$card-color: getVar("text") !default;
$card-background-color: getVar("scheme-main") !default;
$card-shadow: getVar("shadow") !default;
2022-11-23 17:44:02 +00:00
$card-radius: 0.25rem !default;
$card-header-background-color: transparent !default;
2022-12-06 00:47:43 +00:00
$card-header-color: getVar("text-strong") !default;
2022-11-23 17:44:02 +00:00
$card-header-padding: 0.75rem 1rem !default;
2022-12-14 17:15:51 +00:00
$card-header-shadow: 0 0.125em 0.25em rgba(getVar("shadow-color-rgb"), 0.1) !default; // TODO
2022-12-06 00:47:43 +00:00
$card-header-weight: getVar("weight-bold") !default;
2022-11-23 17:44:02 +00:00
$card-content-background-color: transparent !default;
$card-content-padding: 1.5rem !default;
$card-footer-background-color: transparent !default;
2022-12-06 00:47:43 +00:00
$card-footer-border-top: 1px solid getVar("border-light") !default;
2022-11-23 17:44:02 +00:00
$card-footer-padding: 0.75rem !default;
2022-12-06 00:47:43 +00:00
$card-media-margin: getVar("block-spacing") !default;
:root {
@include register-vars(
(
card-color: #{$card-color},
card-background-color: #{$card-background-color},
card-shadow: #{$card-shadow},
card-radius: #{$card-radius},
card-header-background-color: #{$card-header-background-color},
card-header-color: #{$card-header-color},
card-header-padding: #{$card-header-padding},
card-header-shadow: #{$card-header-shadow},
card-header-weight: #{$card-header-weight},
card-content-background-color: #{$card-content-background-color},
card-content-padding: #{$card-content-padding},
card-footer-background-color: #{$card-footer-background-color},
card-footer-border-top: #{$card-footer-border-top},
card-footer-padding: #{$card-footer-padding},
card-media-margin: #{$card-media-margin},
)
);
}
2022-11-23 17:44:02 +00:00
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card {
2022-12-06 00:47:43 +00:00
background-color: getVar("card-background-color");
border-radius: getVar("card-radius");
box-shadow: getVar("card-shadow");
color: getVar("card-color");
2022-11-23 17:44:02 +00:00
max-width: 100%;
position: relative;
}
%card-item {
&:first-child {
2022-12-06 00:47:43 +00:00
border-top-left-radius: getVar("card-radius");
border-top-right-radius: getVar("card-radius");
2022-11-23 17:44:02 +00:00
}
&:last-child {
2022-12-06 00:47:43 +00:00
border-bottom-left-radius: getVar("card-radius");
border-bottom-right-radius: getVar("card-radius");
2022-11-23 17:44:02 +00:00
}
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card-header {
2022-11-23 17:44:02 +00:00
@extend %card-item;
2022-12-06 00:47:43 +00:00
background-color: getVar("card-header-background-color");
2022-11-23 17:44:02 +00:00
align-items: stretch;
2022-12-06 00:47:43 +00:00
box-shadow: getVar("card-header-shadow");
2022-11-23 17:44:02 +00:00
display: flex;
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card-header-title {
2022-11-23 17:44:02 +00:00
align-items: center;
2022-12-06 00:47:43 +00:00
color: getVar("card-header-color");
2022-11-23 17:44:02 +00:00
display: flex;
flex-grow: 1;
2022-12-06 00:47:43 +00:00
font-weight: getVar("card-header-weight");
padding: getVar("card-header-padding");
2022-11-23 17:44:02 +00:00
&.is-centered {
justify-content: center;
}
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card-header-icon {
2022-11-23 17:44:02 +00:00
@include reset;
align-items: center;
cursor: pointer;
display: flex;
justify-content: center;
2022-12-06 00:47:43 +00:00
padding: getVar("card-header-padding");
2022-11-23 17:44:02 +00:00
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card-image {
2022-11-23 17:44:02 +00:00
display: block;
position: relative;
&:first-child {
img {
2022-12-06 00:47:43 +00:00
border-top-left-radius: getVar("card-radius");
border-top-right-radius: getVar("card-radius");
2022-11-23 17:44:02 +00:00
}
}
&:last-child {
img {
2022-12-06 00:47:43 +00:00
border-bottom-left-radius: getVar("card-radius");
border-bottom-right-radius: getVar("card-radius");
2022-11-23 17:44:02 +00:00
}
}
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card-content {
2022-11-23 17:44:02 +00:00
@extend %card-item;
2022-12-06 00:47:43 +00:00
background-color: getVar("card-content-background-color");
padding: getVar("card-content-padding");
2022-11-23 17:44:02 +00:00
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card-footer {
2022-11-23 17:44:02 +00:00
@extend %card-item;
2022-12-06 00:47:43 +00:00
background-color: getVar("card-footer-background-color");
border-top: getVar("card-footer-border-top");
2022-11-23 17:44:02 +00:00
align-items: stretch;
display: flex;
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card-footer-item {
2022-11-23 17:44:02 +00:00
align-items: center;
display: flex;
flex-basis: 0;
flex-grow: 1;
flex-shrink: 0;
justify-content: center;
2022-12-06 00:47:43 +00:00
padding: getVar("card-footer-padding");
2022-11-23 17:44:02 +00:00
&:not(:last-child) {
2022-12-06 00:47:43 +00:00
@include ltr-property("border", getVar("card-footer-border-top"));
2022-11-23 17:44:02 +00:00
}
}
// Combinations
2022-11-23 22:53:56 +00:00
.#{$class-prefix}card {
.#{$class-prefix}media:not(:last-child) {
2022-12-06 00:47:43 +00:00
margin-bottom: getVar("card-media-margin");
2022-11-23 17:44:02 +00:00
}
}