当前位置:首页 > CSS

制作半圆效果 css

2026-01-28 18:12:38CSS

使用 border-radius 创建半圆

通过设置 border-radius 为元素宽度或高度的一半,可以创建半圆效果。例如,宽度为 200px 高度为 100px 的元素,设置 border-radius: 100px 100px 0 0 可生成上半圆。

.semi-circle {
  width: 200px;
  height: 100px;
  background: #3498db;
  border-radius: 100px 100px 0 0;
}

使用 clip-path 裁剪半圆

clip-path 允许通过 SVG 路径或基本形状裁剪元素。使用 ellipsecircle 可以生成半圆。

.semi-circle {
  width: 200px;
  height: 100px;
  background: #e74c3c;
  clip-path: ellipse(50% 100% at 50% 0%);
}

使用伪元素叠加

通过伪元素 ::before::after 叠加一个圆形,并隐藏下半部分,可以实现半圆效果。

.semi-circle {
  width: 200px;
  height: 100px;
  position: relative;
  overflow: hidden;
}
.semi-circle::before {
  content: '';
  position: absolute;
  width: 200px;
  height: 200px;
  background: #2ecc71;
  border-radius: 50%;
  bottom: 0;
}

使用 transform 旋转

通过旋转一个完整的圆形,并隐藏溢出部分,可以生成半圆。

.semi-circle {
  width: 100px;
  height: 200px;
  background: #9b59b6;
  border-radius: 100px 0 0 100px;
  transform: rotate(90deg);
}

使用 SVG 实现半圆

SVG 的 pathcircle 元素可以精确绘制半圆,适合需要动态控制的情况。

制作半圆效果 css

<svg width="200" height="100">
  <path d="M 0,100 A 100,100 0 0,1 200,100 L 200,0 A 100,100 0 0,0 0,0 Z" fill="#f39c12"/>
</svg>

以上方法可根据需求选择,border-radiusclip-path 适合简单场景,伪元素和 SVG 适合复杂交互或动态效果。

标签: 半圆效果
分享给朋友:

相关文章

css制作半圆

css制作半圆

使用 border-radius 制作半圆 通过设置 border-radius 属性可以轻松创建半圆。将元素的宽度设置为高度的两倍,并设置 border-radius 为 50% 以形成半圆形。…

vue实现过渡效果

vue实现过渡效果

Vue 过渡效果实现方法 Vue 提供了内置的 <transition> 和 <transition-group> 组件,用于在元素或组件进入/离开 DOM 时应用过渡效果。以…

vue 实现滑动效果

vue 实现滑动效果

Vue 实现滑动效果的方法 使用 CSS Transition 通过 Vue 的 v-if 或 v-show 结合 CSS Transition 实现滑动效果。定义一个 CSS 类,利用 transf…

vue实现菜单效果

vue实现菜单效果

Vue实现菜单效果的方法 基础菜单实现 使用Vue的v-for指令和v-show/v-if可以快速实现基础菜单。通过数据驱动的方式渲染菜单项,结合事件处理实现交互。 <template>…

vue实现弹窗效果

vue实现弹窗效果

使用 Vue 实现弹窗效果 组件化弹窗实现 创建独立的弹窗组件 Modal.vue,通过 v-if 或 v-show 控制显示状态: <template> <div class…

vue实现框选效果

vue实现框选效果

实现框选效果的基本思路 在Vue中实现框选效果,通常需要监听鼠标事件,记录起始和结束位置,动态绘制一个矩形框,并根据框选范围判断哪些元素被选中。以下是具体实现方法: 监听鼠标事件 在Vue组件的模板…