@hesrun

Как заверстать такой прогресс бар?

Как заверстать такой прогресс бар? https://monosnap.com/file/KWhkOQaqmGVGrrbvme9QT2TI...
Сам бар внутри серой обертки должен быть сделан одним элементом, чтоб я мог управлять шириной потом js-ом.
Может есть какие-то новые свойства которые накидываю фон на задний элемент?
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 3
@loonny
На счет новых я не знаю, но есть старый добрый linear-gradient()
Ответ написан
Комментировать
@shimarulin
Software Engineer
Если не слишком топить за идиоматичность решения, то можно сделать и так:

<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-шку сверстать.
Ответ написан
Комментировать
@Klimsava
Front end developer ????‍????
Я не знаю какие у вас тут трудности возникли
https://codepen.io/klimsava/pen/zYvyexQ
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы