当前位置:首页 > CSS

使用css制作同心圆

2026-02-27 02:04:29CSS

使用CSS制作同心圆

同心圆可以通过CSS的border-radiusposition属性实现,核心思路是利用多个嵌套的div元素,设置相同的圆心但不同的半径。

使用css制作同心圆

方法一:使用多个嵌套元素

创建多个div,通过绝对定位和border-radius: 50%实现同心圆效果。

使用css制作同心圆

<div class="circle-container">
  <div class="circle-outer">
    <div class="circle-middle">
      <div class="circle-inner"></div>
    </div>
  </div>
</div>
.circle-container {
  position: relative;
  width: 300px;
  height: 300px;
}

.circle-outer {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #3498db;
  border-radius: 50%;
}

.circle-middle {
  position: absolute;
  width: 66%;
  height: 66%;
  background-color: #e74c3c;
  border-radius: 50%;
  top: 17%;
  left: 17%;
}

.circle-inner {
  position: absolute;
  width: 33%;
  height: 33%;
  background-color: #2ecc71;
  border-radius: 50%;
  top: 33%;
  left: 33%;
}

方法二:使用伪元素

通过单个元素和其伪元素(::before::after)减少HTML结构。

<div class="concentric-circle"></div>
.concentric-circle {
  position: relative;
  width: 200px;
  height: 200px;
  background-color: #3498db;
  border-radius: 50%;
}

.concentric-circle::before {
  content: '';
  position: absolute;
  width: 66%;
  height: 66%;
  background-color: #e74c3c;
  border-radius: 50%;
  top: 17%;
  left: 17%;
}

.concentric-circle::after {
  content: '';
  position: absolute;
  width: 33%;
  height: 33%;
  background-color: #2ecc71;
  border-radius: 50%;
  top: 33%;
  left: 33%;
}

方法三:使用CSS变量

通过CSS变量统一控制圆心和半径,便于调整。

:root {
  --circle-size: 200px;
  --color-outer: #3498db;
  --color-middle: #e74c3c;
  --color-inner: #2ecc71;
}

.circle-var {
  position: relative;
  width: var(--circle-size);
  height: var(--circle-size);
  background-color: var(--color-outer);
  border-radius: 50%;
}

.circle-var::before {
  content: '';
  position: absolute;
  width: calc(var(--circle-size) * 0.66);
  height: calc(var(--circle-size) * 0.66);
  background-color: var(--color-middle);
  border-radius: 50%;
  top: 17%;
  left: 17%;
}

.circle-var::after {
  content: '';
  position: absolute;
  width: calc(var(--circle-size) * 0.33);
  height: calc(var(--circle-size) * 0.33);
  background-color: var(--color-inner);
  border-radius: 50%;
  top: 33%;
  left: 33%;
}

注意事项

  • 确保外层容器具有position: relative,内层圆通过position: absolute定位。
  • 使用百分比单位(如width: 33%)或calc()函数动态计算尺寸,保持比例一致。
  • 调整topleft属性时需根据圆的尺寸微调,确保圆心对齐。

标签: 同心圆css
分享给朋友:

相关文章

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

css 制作报表

css 制作报表

CSS 制作报表的方法 使用 CSS 制作报表主要涉及表格样式的设计、布局优化以及响应式处理。以下是几种常见的方法和技巧: 基础表格样式 通过 CSS 可以增强 HTML 表格的视觉效果,使其更符合…

css如何制作圆

css如何制作圆

使用 border-radius 属性 通过设置 border-radius 属性可以轻松创建圆角或圆形元素。值为 50% 时,元素会呈现为圆形。 .circle { width: 100p…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏是最常见的方法。 <nav class="horizontal-nav"> &…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。此方法适用于正方形元素,确保宽度和高度相等。 .circle { width: 10…

用css制作导航条

用css制作导航条

基础导航条结构 HTML结构使用无序列表<ul>和列表项<li>,这是语义化的标准做法: <nav> <ul class="navbar">…