Как реализовать диаграмму? [дубликат]

227
04 августа 2018, 15:30

На данный вопрос уже ответили:

  • Как оформить диаграмму в css 1 ответ

Пробовал на css с помощью border, но возникли проблемы с шагом. Нужно реализовать в следующем соотношении: синий блок 27%, серый - 73%. В сети очень много js-библиотек с диаграммами, глаза разбегаются. Хотелось бы сделать как можно проще и понятней.

Answer 1

Вот, пример, стилизуйте под свои нужды:

.circle-chart__circle { 
  animation: circle-chart-fill 2s reverse; 
  transform: rotate(-90deg); 
  transform-origin: center; 
} 
 
.circle-chart__circle--negative { 
  transform: rotate(-90deg) scale(1, -1); 
} 
 
.circle-chart__info { 
  animation: circle-chart-appear 2s forwards; 
  opacity: 0; 
  transform: translateY(0.3em); 
} 
 
@keyframes circle-chart-fill { 
  to { 
    stroke-dasharray: 0 100; 
  } 
} 
 
@keyframes circle-chart-appear { 
  to { 
    opacity: 1; 
    transform: translateY(0); 
  } 
} 
 
.grid { 
  display: grid; 
  grid-column-gap: 1em; 
  grid-row-gap: 1em; 
  grid-template-columns: repeat(1, 1fr); 
} 
 
@media (min-width: 31em) { 
  .grid { 
    grid-template-columns: repeat(2, 1fr); 
  } 
}
<div class="grid"> 
  <section> 
    <svg class="circle-chart" viewbox="0 0 33.83098862 33.83098862" width="200" height="200" xmlns="http://www.w3.org/2000/svg"> 
      <circle class="circle-chart__background" stroke="#efefef" stroke-width="2" fill="none" cx="16.91549431" cy="16.91549431" r="15.91549431" /> 
      <circle class="circle-chart__circle" stroke="#00acc1" stroke-width="2" stroke-dasharray="30,100" stroke-linecap="round" fill="none" cx="16.91549431" cy="16.91549431" r="15.91549431" /> 
      <g class="circle-chart__info"> 
        <text class="circle-chart__percent" x="16.91549431" y="15.5" alignment-baseline="central" text-anchor="middle" font-size="8">30%</text> 
        <text class="circle-chart__subline" x="16.91549431" y="20.5" alignment-baseline="central" text-anchor="middle" font-size="2">30% progress!</text> 
      </g> 
    </svg> 
  </section> 
 
</div>

READ ALSO
Добавление файла на сайт из прямой ссылки на скачивание

Добавление файла на сайт из прямой ссылки на скачивание

Всем приветМне нужно файл, на который есть прямая ссылка на скачивание, передать в или в FormData для дальнейшей загрузки файла на другой сервер

253
RGB или HUE палитра на сайте

RGB или HUE палитра на сайте

Как сделать квадрат рядом с которым будет три скроллбара к которыми можно привязать RGB или HSV значение цвета этого квадратаМожно ли это сделать...

233
Для чего return в функции возвращает что-то?

Для чего return в функции возвращает что-то?

Для чего return в JAVASCRIPT возвращает что-то? Ну вот например, для чего тут возврат sum? Для чего вообще возвращать что-то? Пожалуйста, дайте нормальный...

232