Если не слишком топить за идиоматичность решения, то можно сделать и так:
<style>
.progress {
position: relative;
width: 400px;
height: 20px;
border-radius: 10px;
background: #d8d8d8;
}
.progress-bar {
position: relative;
height: 100%;
overflow: hidden;
background: #0dac12;
border-radius: 10px;
}
.progress-bar__inner {
position: absolute;
width: 200px;
height: 100%;
background: #f76844;
border-right: 2px solid #d8d8d8;
}
</style>
<div class="progress">
<!-- Ширина .progress-bar зависит от процента выполнения -->
<div class="progress-bar" style="width: 247px;">
<!-- 1/2 ширины .progress -->
<div class="progress-bar__inner" style="width: 200px;"></div>
</div>
</div>
Еще возможен вариант с применением градиента, как выше заметили.
.progress-bar {
background: rgb(247,104,68);
background: linear-gradient(90deg, rgba(247,104,68,1) 0%, rgba(247,104,68,1) 200px, rgba(255,255,255,1) 200px, rgba(255,255,255,1) 201px, rgba(13,172,18,1) 201px, rgba(13,172,18,1) 100%);
}
А можно еще и SVG-шку сверстать.