тестовая страница
Разметка:
<svg viewBox="0 0 400 400" preserveAspectRatio="xMinYMin meet">
<g>
<circle r="70" class="circle-back" />
</g>
</svg>
CSS
.doughnutChart{
text-align:center;
padding:50% 1em 0;
position: relative;
overflow: hidden;
> svg{
position: absolute;
top: 0;
left:0; right:0;
margin: auto;
g{ transform:rotate(270deg) translate(-88px, 200px); }
}
circle{ fill: none; }
.circle-back { stroke:#EEE; stroke-width: 5px; }
}
Как вы можете видеть на тестовой странице, я пытаюсь расположить отрегулированный круг с некоторым радиусом, и я хочу, чтобы он располагался в середине контейнера, независимо от ширины контейнера. Было бы еще лучше, если бы круг также соответствовал высоте контейнера.
Кажется, что проблема с css translate
связана с процентами в элементе g
, что мешает мне просто делать translate(-50%, -50%)
Это очень упрощенная версия того, что у меня есть, поскольку в моем коде это диаграмма для пончиков, поэтому у нее есть это преобразование rotate