【发布时间】:2016-01-13 03:18:16
【问题描述】:
Test page
标记:
<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 转换它
【问题讨论】: