<h1>Opacity As A Variable in Relative Colors</h1>
<div class="container">
<div class="box box01">Base Color</div>
<div class="box box02">Opacity 75%</div>
<div class="box box03">Opacity 50%</div>
<div class="box box04">Opacity 25%</div>
</div>
* {
box-sizing: border-box;
}
:root {
/* font settings */
font-family: system-ui, sans-serif;
font-size: 1.2rem;
/* Base Color Settings */
--base-color: #663399;
--transparent-75: oklch(from var(--base-color) l c h / calc(alpha * 0.75));
--transparent-50: oklch(from var(--base-color) l c h / calc(alpha * 0.5));
--transparent-25: oklch(from var(--base-color) l c h / calc(alpha * 0.25));
}
body {
display: flex;
flex-direction: column;
place-items: center;
}
.container {
display: flex;
flex-direction: row;
gap: 1rem;
}
.box {
inline-size: 200px;
block-size: 200px;
border: 1px solid black;
/* optional */
display: flex;
place-content: center;
align-items: center;
}
.box01 {
background: var(--base-color);
color: color-contrast(var(--base-color) vs white, black);
}
.box02 {
background: var(--transparent-75);
color: color-contrast(var(--transparent-75) vs white, black);
}
.box03 {
background: var(--transparent-50);
color: color-contrast(var(--transparent-50) vs white, black);
}
.box04 {
background: var(--transparent-25);
color: color-contrast(var(--transparent-25) vs white, black);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.