我做了一个半圆,我想根据我需要的百分比给它上色。文字的位置现在不重要。我想要的是有50%的边框上色。以后我需要70%和80%。我该怎么做呢?
.info__radius__outline {
width: 20%;
height: 6em;
border-top-left-radius: 110px;
border-top-right-radius: 110px;
border: 10px solid gray;
border-bottom: 0;
display: inline-block;
}
<div class="info__radius__outline">
<div class="info__radius">
<p class="info__radius__text">70</p>
</div>
</div>
4条答案
按热度按时间8nuwlpux1#
你可以使用一个伪函数并旋转它,通过类或js设置旋转以保持写入的值。
下面的演示使用动画来显示效果
a few similar examples
background-clip
来将它们绘制在2个不同的部分:一个二个一个一个
kxkpmulp2#
你可能正在寻找CSS3
gradients
。这将有两种颜色之间的渐变(例如灰色和红色之间)。它可以径向或线性完成。如果你想要更鲜明的颜色(没有混合),我相信你 * 可以 * 用渐变和浏览器特定的CSS,see here来实现。
outline
属性可以实现这种外观,只要您更改border
和outline
之间的wishes比率即可。如果你想要更好的关于css的答案,图片会很棒。
pgvzfuti3#
这个怎么样?,如果你不介意改一些代码的话.
[HTML]
[CSS]
https://jsfiddle.net/978zLw2q/
1cklez4t4#
这只是另一个解决方案,类似于@GCyrillus的第一个解决方案,但使用了不同的方法,使用了一个伪元素和一个
overflow hidden
容器。