在CSS中实现圆形效果的核心是利用border-radius属性,当元素的宽度和高度相等,且border-radius设置为宽度或高度的一半时,就能得到标准的圆形。下面通过多个实例来演示不同场景下的圆形实现方法。

基础圆形实现
最基础的圆形只需要设置固定的宽高,同时将border-radius设为宽高的一半即可。以下是具体的代码实现:
/* 基础圆形样式 */
.circle-basic {
width: 100px;
height: 100px;
background-color: #409eff;
border-radius: 50px; /* 宽高的一半,也可以用50% */
/* border-radius: 50%; 效果和上面一行一致 */
}
对应的HTML结构如下:
<div class="circle-basic"></div>
带边框的圆形
如果需要给圆形添加边框,只需要额外增加border属性即可,边框会自动贴合圆形的边缘。代码如下:
/* 带边框的圆形 */
.circle-border {
width: 120px;
height: 120px;
background-color: #f0f0f0;
border-radius: 50%;
border: 4px solid #ff6b6b;
}
圆形头像实现
圆形头像是非常常见的需求,通常是将图片放入容器后,设置容器为圆形,同时让图片覆盖整个容器。实现代码如下:
/* 圆形头像容器 */
.avatar-container {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden; /* 隐藏超出容器的图片部分 */
}
/* 头像图片 */
.avatar-img {
width: 100%;
height: 100%;
object-fit: cover; /* 保证图片比例不变,覆盖整个容器 */
}
对应的HTML结构:
<div class="avatar-container">
<img class="avatar-img" src="https://ipipp.com/avatar.jpg" alt="用户头像" />
</div>
圆形按钮实现
圆形按钮的实现和基础的圆形类似,只需要增加交互相关的样式即可,比如 hover 效果。代码如下:
/* 圆形按钮 */
.circle-btn {
width: 60px;
height: 60px;
border-radius: 50%;
background-color: #67c23a;
color: #fff;
border: none;
cursor: pointer;
font-size: 14px;
transition: background-color 0.3s;
}
.circle-btn:hover {
background-color: #529b2e;
}
注意事项
- 必须保证元素的width和height值相等,否则得到的是椭圆形而不是正圆形
- border-radius的值可以是具体像素,也可以是百分比,50%是更通用的写法,不需要手动计算宽高的一半
- 如果元素有padding或者border,计算宽高时需要把这两个属性的值也算进去,保证最终渲染的宽高一致
- 使用overflow: hidden可以让子元素自动适配圆形容器的形状,适合处理图片类的圆形需求
CSS圆形效果border-radiuswidthheight修改时间:2026-07-13 10:33:09