像这样
只有这个代码
<span>1</span>
你可以使用这个CSS
span {
display: block;
height: 60px;
width: 60px;
line-height: 60px;
-moz-border-radius: 30px; /* or 50% */
border-radius: 30px; /* or 50% */
background-color: black;
color: white;
text-align: center;
font-size: 2em;
}
因为你想要一个圆圈,所以你需要为宽度、高度和行高设置相同的值(使文本垂直居中)。您还需要将该值的一半用于边界半径。
无论内容长度如何,此解决方案始终呈现一个圆圈。
但是,如果你想要一个随内容扩展的椭圆,那么http://jsfiddle.net/MafjT/256/
在这个https://jsfiddle.net/36m7796q/2/中,您可以看到如何渲染一个对内容长度变化做出反应的圆圈。
您甚至可以编辑最后一个圆圈的内容,以查看直径如何变化。
你现在有很多答案,但我试着告诉你基础知识。
第一个元素是内联元素,因此从顶部给它留出边距,我们需要将其转换为块元素。我转换为 inline-block 因为它接近 inline 并且具有块元素的功能。
其次,你需要给左右填充多于顶部和底部,因为数字本身从顶部延伸到底部,所以它得到合理的高度但是因为我们想要使跨度为圆形,所以我们在左右两侧给它们更多填充以腾出空间为边界半径。
第三,您设置的边框半径应该大于 PADDING + 内容本身的宽度,因此大约 27px 您将获得所需的圆度,但为了安全地覆盖所有数字,您可以将其设置为更高的值。
实际例子。
使用 CSS3:
span
{-moz-border-radius: 20px;
border-radius: 20px;
border-color:black;
background-color:black;
color:white;
padding-left:15px;
padding-right:15px;
padding-top:10px;
padding-bottom:10px;
font-size:1.3em;
}
border-radius 速记属性可用于同时定义所有四个角。该属性接受一组或两组值,每组由一到四个长度或百分比组成。
语法:
[ <length> | <percentage> ]{1,4} [ / [ <length> | <percentage> ]{1,4} ]?
例子:
border-radius: 5px 10px 5px 10px / 10px 5px 10px 5px;
border-radius: 5px;
border-radius: 5px 10px / 10px;
我是你的情况
span {
border-radius: 100px;
background: #000;
color : white;
padding : 10px 15px;
}
除了其他解决方案之外,http ://css3pie.com/ 作为旧 Internet Explorer 版本的 polyfill 做得很好
编辑:自 2016 年起没有必要