当前位置:首页 > 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 可以生成半圆。

制作半圆效果 css

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

使用伪元素叠加

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

制作半圆效果 css

.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 元素可以精确绘制半圆,适合需要动态控制的情况。

<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 适合复杂交互或动态效果。

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

相关文章

vue实现对话框效果

vue实现对话框效果

Vue 对话框实现方法 使用组件化方式封装对话框 创建一个独立的对话框组件(如Dialog.vue),通过v-model控制显示隐藏: <template> <div cla…

js实现图片滚动效果

js实现图片滚动效果

使用CSS动画实现图片滚动 通过CSS的@keyframes和animation属性实现无缝滚动效果。将图片容器设置为横向排列,通过动画平移位置。 <style> .scroll-c…

vue实现效果展示

vue实现效果展示

Vue 实现效果展示的方法 Vue.js 提供了多种方式来实现动态效果展示,以下是一些常见的方法: 使用 Vue 的过渡和动画系统 Vue 内置了 <transition> 和 <…

vue效果实现

vue效果实现

Vue 效果实现方法 Vue.js 提供了多种方式实现动态效果,包括过渡动画、状态驱动的 UI 变化以及第三方动画库集成。以下是常见效果的实现方案: 过渡动画 使用 Vue 内置的 <tran…

vue实现玻璃效果

vue实现玻璃效果

实现玻璃效果的方法 在Vue中实现玻璃效果(毛玻璃或磨砂玻璃)可以通过CSS的backdrop-filter属性结合Vue的动态样式绑定来实现。以下是具体步骤: 使用CSS backdrop-fi…

vue实现过渡效果

vue实现过渡效果

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