2017-06-21 230 views
-2

我试图用下面的脚本将圆圈中间的文本对齐,但似乎无法使其在水平和垂直方向中间对齐。使用css在一个圆圈中间对齐文本

.circle { 
 
    background: rgba(72, 156, 234, 1); 
 
    background: -moz-linear-gradient(left, rgba(72, 156, 234, 1) 0%, rgba(31, 123, 229, 1) 100%); 
 
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(72, 156, 234, 1)), color-stop(100%, rgba(31, 123, 229, 1))); 
 
    background: -webkit-linear-gradient(left, rgba(72, 156, 234, 1) 0%, rgba(31, 123, 229, 1) 100%); 
 
    background: -o-linear-gradient(left, rgba(72, 156, 234, 1) 0%, rgba(31, 123, 229, 1) 100%); 
 
    background: -ms-linear-gradient(left, rgba(72, 156, 234, 1) 0%, rgba(31, 123, 229, 1) 100%); 
 
    background: linear-gradient(to right, rgba(72, 156, 234, 1) 0%, rgba(31, 123, 229, 1) 100%); 
 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#489cea', endColorstr='#1f7be5', GradientType=1); 
 
    border-radius: 50%; 
 
    height: 80px; 
 
    width: 80px; 
 
    position: relative; 
 
    box-shadow: 0 0 0 5px #F1F1F1; 
 
    margin: 10px; 
 
    color: #6F0; 
 
    vertical-align: middle; 
 
} 
 

 
.text_circle { 
 
    font-size: 36px; 
 
    margin-bottom: 50px; 
 
    vertical-align: middle; 
 
}
<div align="center" class="circle"> 
 
    <span class="text_circle">5</span> 
 
</div>

+5

无论它是一个圆形还是一个矩形都没关系..自互联网曙光以来,这已经被无数次询问了,请谷歌。 – vsync

+1

使用'line-height'与'height'相同使其位于中间 – vsync

+0

@Nick如果您要在代码中提供答案,您的答案需要在此处发布,而不是第三方网站那可能会在明天改变或消失。其次,代码只是答案只是扔他一条鱼,而不是教他如何钓鱼。这不是reddit。教! – Rob

回答

1

只要你只有一行文字,一个简单的一招就是设置其line-height到圆的height

.circle { 
 
    background: rgba(72, 156, 234, 1); 
 
    border-radius: 50%; 
 
    height: 80px; 
 
    width: 80px; 
 
    position: relative; 
 
    box-shadow: 0 0 0 5px #F1F1F1; 
 
    margin: 10px; 
 
    color: #6F0; 
 
    vertical-align: middle; 
 
} 
 

 
.text_circle { 
 
    font-size: 36px; 
 
    margin-bottom: 50px; 
 
    line-height: 80px; 
 
}
<div align="center" class="circle"><span class="text_circle">5</span></div>

0

您的问题有两种解决方案。

一个

分配position:relative属性.circle

.circle { 
    position:relative; 
} 

以下属性添加到text_circle

.text_circle { 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%,-50%); 
} 

两个

line-height财产分配给circle具有相同的高度。

.circle { 
    line-height: 80px; 
}