I'm trying to get this CSS file to have both .box-shadow
and .card-box-shadow .pagebuilder-column
on the same declaration but haven't really found a way, other than manually doing it in CSS which kinda defeats the purpose, I know it's a small thing and it may be the point where I should just do it in CSS but, there must be a way!
SCSS:
.box-shadow {
box-shadow: $box-shadow;
&--light {
box-shadow: $box-shadow--light;
}
&--strong {
box-shadow: $box-shadow--strong;
}
&__spread {
box-shadow: $box-shadow__spread;
&--light {
box-shadow: $box-shadow__spread--light;
}
&--strong {
box-shadow: $box-shadow__spread--strong;
}
}
&__concise {
box-shadow: $box-shadow__concise;
&--light {
box-shadow: $box-shadow__concise--light;
}
&--strong {
box-shadow: $box-shadow__concise--strong;
}
}
}
.card-box-shadow {
& .pagebuilder-column {
box-shadow: $box-shadow;
}
&--light {
& .pagebuilder-column {
box-shadow: $box-shadow--light;
}
}
&--strong {
& .pagebuilder-column {
box-shadow: $box-shadow--strong;
}
}
&__spread {
& .pagebuilder-column {
box-shadow: $box-shadow__spread;
}
&--light {
& .pagebuilder-column {
box-shadow: $box-shadow__spread--light;
}
}
&--strong {
& .pagebuilder-column {
box-shadow: $box-shadow__spread--strong;
}
}
}
&__concise {
& .pagebuilder-column {
box-shadow: $box-shadow__concise;
}
&--light {
& .pagebuilder-column {
box-shadow: $box-shadow__concise--light;
}
}
&--strong {
& .pagebuilder-column {
box-shadow: $box-shadow__concise--strong;
}
}
}
}
Current output:
.box-shadow {
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.box-shadow--light {
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px 4px;
}
.box-shadow--strong {
box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 4px 8px 4px;
}
.box-shadow__spread {
box-shadow: rgba(0, 0, 0, 0.2) 0px 8px 28px 6px, rgba(0, 0, 0, 0.1) 0px 2px 4px 1px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px inset;
}
.box-shadow__spread--light {
box-shadow: rgba(0, 0, 0, 0.15) 0px 5px 15px 6px;
}
.box-shadow__spread--strong {
box-shadow: rgba(0, 0, 0, 0.56) 0px 15px 50px 6px;
}
.box-shadow__concise {
box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
}
.box-shadow__concise--light {
box-shadow: rgba(0, 0, 0, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}
.box-shadow__concise--strong {
box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px 3px, rgba(0, 0, 0, 0.23) 0px 3px 6px 3px;
}
.card-box-shadow .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.card-box-shadow--light .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px 4px;
}
.card-box-shadow--strong .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 4px 8px 4px;
}
.card-box-shadow__spread .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.2) 0px 8px 28px 6px, rgba(0, 0, 0, 0.1) 0px 2px 4px 1px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px inset;
}
.card-box-shadow__spread--light .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.15) 0px 5px 15px 6px;
}
.card-box-shadow__spread--strong .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.56) 0px 15px 50px 6px;
}
.card-box-shadow__concise .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
}
.card-box-shadow__concise--light .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}
.card-box-shadow__concise--strong .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px 3px, rgba(0, 0, 0, 0.23) 0px 3px 6px 3px;
}
/*# sourceMappingURL=box-shadow.css.map */
Desired output:
.box-shadow,
.card-box-shadow .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.box-shadow--light,
.card-box-shadow--light .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px 4px;
}
.box-shadow__concise,
.card-box-shadow__concise .pagebuilder-column {
box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
}
.box-shadow__concise--light,
.card-box-shadow__concise--light .pagebuilder-column {
box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}
So far this is the only way to make it output the same, is there a way of using a mixin to avoid this?
.box-shadow, .card-box-shadow .pagebuilder-column {
box-shadow: $box-shadow;
}
.box-shadow--light, .card-box-shadow--light .pagebuilder-column {
box-shadow: $box-shadow--light;
}
.box-shadow--strong, .card-box-shadow--strong .pagebuilder-column {
box-shadow: $box-shadow--strong;
}
.box-shadow__spread, .card-box-shadow__spread .pagebuilder-column {
box-shadow: $box-shadow__spread;
}
.box-shadow__spread--light, .card-box-shadow__spread--light .pagebuilder-column {
box-shadow: $box-shadow__spread--light;
}
.box-shadow__spread--strong, .card-box-shadow__spread--strong .pagebuilder-column {
box-shadow: $box-shadow__spread--strong;
}
.box-shadow__concise, .card-box-shadow__concise .pagebuilder-column {
box-shadow: $box-shadow__concise;
}
.box-shadow__concise--light, .card-box-shadow__concise--light .pagebuilder-column {
box-shadow: $box-shadow__concise--light;
}
.box-shadow__concise--strong, .card-box-shadow__concise--strong .pagebuilder-column {
box-shadow: $box-shadow__concise--strong;
}