Вы можете учитывать hsl
цвета, и у вас будет лучшая гибкость для управления lightness
, например
:root {
--base-color:194, 57%;
--layer-00: hsl(var(--base-color), 20%);
--layer-01: hsl(var(--base-color), 40%);
--layer-02: hsl(var(--base-color), 50%);
--layer-03: hsl(var(--base-color), 60%);
--layer-04: hsl(var(--base-color), 70%);
}
.button {
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
width: 50px;
height: 50px;
background-color: var(--layer-00);
box-shadow:
0 0 0 4px var(--layer-01),
0 0 0 46px var(--layer-02),
0 0 0 86px var(--layer-03),
0 0 0 126px var(--layer-04);
}
<div class="button"></div>
Для непрозрачности вы можете рассмотреть синтаксис rgba, как показано ниже:
:root {
--base-color:29, 87, 105;
--layer-00: rgba(var(--base-color), 1);
--layer-01: rgba(var(--base-color), 0.8);
--layer-02: rgba(var(--base-color), 0.6);
--layer-03: rgba(var(--base-color), 0.4);
--layer-04: rgba(var(--base-color), 0.2);
}
.button {
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
width: 50px;
height: 50px;
background-color: var(--layer-00);
box-shadow:
0 0 0 4px var(--layer-01),
0 0 0 46px var(--layer-02),
0 0 0 86px var(--layer-03),
0 0 0 126px var(--layer-04);
}
<div class="button"></div>