我有一个div作为一个圆圈,内部文字显示百分比值(20%)。问题是内部文本没有准确显示在圆圈的中心。
内部文本是基于某些百分比结果的动态值。圆的半径基于作为结果返回的百分比值。返回的百分比值应准确显示在圆的中心。有人可以帮我这个。
感谢。
继承代码,
<style>
#circle {
border: 1px solid red;
border-radius: 50%;
-moz-box-sizing: border-box;
box-sizing: border-box;
background:blue;
}
</style>
<div id="circle"></div>
<script>
$(function(){
var maxWidth = 500, // This is the max width of your circle
percent = Number($('#result').text()); // This is the percentage value
percent = percent / 100;
$("#circle").css({
"width" : maxWidth * percent,
"height" : maxWidth * percent,
});
circle.innerText =$('#result').text() + "%";
</script>
答案 0 :(得分:1)
您可以在包含文字的圈子中添加另一个DIV
,并在CSS中将position: relative
添加到#circle
。另外添加:
#circle>* {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
position: absolute
和top: 50%
/ left: 50%
会将内部DIV
的左上角放在圆圈的中间。 transform
将其自身大小的50%转移到左侧/顶部。
答案 1 :(得分:0)
这对我有用。
display: table-cell;
vertical-align: middle;
你可以检查小提琴: