当前位置:首页 > CSS

css制作月牙

2026-04-01 07:16:37CSS

使用CSS制作月牙形状

通过CSS的border-radiusbox-shadow属性可以轻松实现月牙效果。以下是两种常见方法:

方法一:利用边框和圆角

通过设置两个圆形叠加,其中一个用overflow: hidden裁剪出月牙形状。

.moon {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: gold;
  position: relative;
  overflow: hidden;
}
.moon::after {
  content: '';
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: white;
  top: 10px;
  left: 20px;
}

方法二:使用径向渐变

通过CSS径向渐变直接绘制月牙形状,更简洁但兼容性稍差。

.moon {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 50%, transparent 40%, gold 40%);
}

方法三:box-shadow剪切

利用box-shadow的inset属性创建剪切效果。

.moon {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: gold;
  box-shadow: inset -15px 0 0 0 white;
}

动画效果增强

可以为月牙添加旋转动画模拟真实月相变化:

css制作月牙

@keyframes moon-phase {
  0% { box-shadow: inset -30px 0 0 0 white; }
  50% { box-shadow: inset 0 0 0 0 white; }
  100% { box-shadow: inset 30px 0 0 0 white; }
}
.moon {
  animation: moon-phase 8s infinite linear;
}

浏览器兼容性提示

径向渐变方法在IE10及以下版本不支持,如需兼容旧浏览器建议采用第一种叠加方法。现代浏览器中所有方法均表现良好。

标签: 月牙css
分享给朋友:

相关文章

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

css如何制作未读图标

css如何制作未读图标

未读图标实现方法 通过CSS可以创建多种未读图标的样式,以下是几种常见的实现方式: 使用伪元素创建小红点 .unread-badge { position: relative; disp…

前端css制作

前端css制作

CSS 基础语法与结构 CSS(层叠样式表)通过选择器、属性和值定义样式。基本语法为: 选择器 { 属性: 值; } 例如: h1 { color: blue; font-size:…

css制作下拉菜单

css制作下拉菜单

使用纯CSS制作下拉菜单 通过HTML和CSS可以创建无需JavaScript的下拉菜单,主要利用:hover伪类和display属性控制显示隐藏。 HTML结构示例: <div class…

css制作圆形

css制作圆形

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

css制作标尺

css制作标尺

使用 CSS 制作标尺的方法 方法一:使用线性渐变和伪元素 通过 linear-gradient 和伪元素实现刻度线,适合简单的水平或垂直标尺。 .ruler { position: rela…