当前位置:首页 > CSS

用css制作半圆

2026-04-02 04:19:52CSS

使用 CSS 制作半圆

方法一:通过 border-radius 和固定宽高

通过设置元素的 border-radius 为 50%,并结合固定的宽度和高度,可以制作半圆。通常需要将宽度设置为高度的两倍(或反之),并仅对一个角应用圆角。

用css制作半圆

.half-circle {
  width: 100px;
  height: 50px;
  background-color: #ff6b6b;
  border-radius: 50px 50px 0 0;
}
  • width: 100pxheight: 50px 确保宽度是高度的两倍。
  • border-radius: 50px 50px 0 0 使顶部左右两侧圆角化,底部保持直角。

方法二:通过 clip-path 裁剪

使用 clip-path 可以更灵活地裁剪出半圆形,适用于复杂形状需求。

用css制作半圆

.half-circle {
  width: 100px;
  height: 100px;
  background-color: #4ecdc4;
  clip-path: circle(50% at 50% 0);
}
  • clip-path: circle(50% at 50% 0) 将元素裁剪为以顶部中心为圆心的半圆。
  • 调整 at 后的坐标可以改变半圆的方向(如 50% 100% 为底部半圆)。

方法三:通过旋转和溢出隐藏

结合 transformoverflow: hidden 实现半圆效果。

.container {
  width: 100px;
  height: 50px;
  overflow: hidden;
}

.circle {
  width: 100px;
  height: 100px;
  background-color: #ff9f1c;
  border-radius: 50%;
  transform: translateY(-50%);
}
  • 外层容器限制高度为半圆高度。
  • 内层圆形通过 transform: translateY(-50%) 上移,隐藏下半部分。

方法四:使用 SVG 内联

直接使用 SVG 绘制半圆,适合需要动态修改或动画的场景。

<svg width="100" height="50" viewBox="0 0 100 50">
  <path d="M 0,50 A 50,50 0 0 1 100,50 Z" fill="#2ec4b6" />
</svg>
  • d 属性中的 A 50,50 0 0 1 100,50 定义半径为 50 的半圆弧。
  • Z 闭合路径形成半圆。

注意事项

  • 方向调整:通过修改 border-radius 的顺序(如 0 0 50px 50px)或 clip-path 的坐标可以改变半圆朝向。
  • 浏览器兼容性:clip-path 和 SVG 在现代浏览器中支持良好,但需测试旧版本兼容性。

标签: 半圆css
分享给朋友:

相关文章

用css制作网页

用css制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

css sprites制作

css sprites制作

什么是CSS Sprites CSS Sprites是一种将多个小图片合并成一张大图的技术,通过background-position属性来显示需要的部分。这种技术可以减少HTTP请求次数,提升页面加…

css制作搜索框

css制作搜索框

制作搜索框的基本结构 使用HTML创建一个简单的搜索框结构,包含输入框和搜索按钮: <div class="search-box"> <input type="text" pl…

css怎么制作个人主页

css怎么制作个人主页

设计布局结构 使用CSS的Flexbox或Grid布局创建响应式结构。Flexbox适合一维排列(如导航栏),Grid适合二维布局(如整体页面分区)。例如: .container { displ…

css制作旋转

css制作旋转

CSS旋转的实现方法 CSS提供了多种方式实现元素的旋转效果,主要通过transform属性配合旋转函数完成。以下是常见的旋转实现方式: 使用rotate()函数 transform: rotate…

css制作日历

css制作日历

使用CSS Grid布局制作日历 日历的布局适合使用CSS Grid实现,因其天然的行列结构。以下是一个基础日历的HTML和CSS代码: <div class="calendar">…