Если число точек в этой линии известно и никогда не изменится, вы можете самостоятельно рассчитать цветовые остановки и реализовать их так, чтобы линия образовала один полный градиент.
Однако, если вы хотите что-топримените к чему-либо подобному, я предлагаю использовать Javascript.
Эта функция рассчитает для вас градиенты.Это сложно, но может быть возможно реализовать его в приложении, чтобы оно фактически изменило CSS.Я вручную сделал расчеты для двух единиц:
//background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%);
function gradientProgress(gStart,gEnd,at){
//gStart and gEnd are [r,g,b,a,%]
var prog = (at - gStart[4]) / (gEnd[4] - gStart[4]);
var res = [0,0,0,0,100]
for(var a = 0;a<4;a++){
res[a] = Math.round(gStart[a] + (prog * (gEnd[4] - gStart[4])));
}
return res;
}
console.log("First one: " + "[2, 0, 36, 1, 0], [9, 9, 121, 1, 70], [" + (gradientProgress([9,9,121,1,35],[0,212,255,1,100],50)).toString() + "]")
.chart {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 0 15px;
margin-bottom: 50px;
}
.dot-black {
width: 8px;
height: 8px;
border-radius: 4px;
background: black;
}
.dot-grey {
width: 22px;
height: 22px;
border-radius: 11px;
background: grey;
}
.dot-green {
width: 22px;
height: 22px;
border-radius: 11px;
background: green;
}
.unit {
flex: 1;
display: flex;
align-items: center;
}
.line-black {
height: 2px;
background: black;
}
.line-grey {
height: 2px;
background: grey;
flex-grow: 1;
}
<div class="chart">
<div class="unit gradient" style="background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 70%, rgba(24,24,136,16) 100%);">
<div class="dot-black"></div>
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
<div class="unit gradient" style="background: linear-gradient(90deg, rgba(24,24,136,16) 0%, rgba(0,212,255,1) 100%);">
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
<div class="unit">
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
<div class="unit">
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
<div class="unit">
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
<div class="unit">
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
<div class="unit">
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
<div class="unit">
<div class="line-grey"></div>
<div class="dot-grey"></div>
</div>
</div>