当前位置:首页 > CSS

用css制作月食

2026-03-12 08:45:55CSS

使用CSS制作月食效果

通过CSS的box-shadowborder-radius属性可以模拟月食效果,利用圆形元素和阴影重叠实现视觉差。

HTML结构

用css制作月食

<div class="eclipse">
  <div class="moon"></div>
  <div class="shadow"></div>
</div>

CSS样式

.eclipse {
  position: relative;
  width: 200px;
  height: 200px;
}

.moon {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #f5f3ce;
  box-shadow: 0 0 20px #f5f3ce;
}

.shadow {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #1a1a1a;
  transform: translateX(25%);
  animation: eclipse 4s infinite;
}

@keyframes eclipse {
  0% { transform: translateX(-25%); }
  50% { transform: translateX(25%); }
  100% { transform: translateX(-25%); }
}

动态月食效果优化

通过调整动画关键帧和阴影透明度,可以增强真实感:

用css制作月食

.shadow {
  /* 其他属性保持不变 */
  animation: eclipse 8s ease-in-out infinite;
}

@keyframes eclipse {
  0% { transform: translateX(-30%); opacity: 0.7; }
  50% { transform: translateX(30%); opacity: 0.95; }
  100% { transform: translateX(-30%); opacity: 0.7; }
}

月全食与月偏食切换

通过修改阴影覆盖范围实现不同类型月食:

/* 月全食 */
.full-eclipse .shadow {
  width: 110%;
  height: 110%;
}

/* 月偏食 */
.partial-eclipse .shadow {
  width: 80%;
  height: 80%;
}

背景星空效果

添加星空背景增强场景感:

body {
  background: 
    radial-gradient(ellipse at center, #000000 0%, #1a1a1a 100%);
}

.eclipse::before {
  content: "";
  position: absolute;
  top: -50px;
  left: -50px;
  right: -50px;
  bottom: -50px;
  background: 
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" opacity="0.7"><circle cx="50" cy="30" r="1" fill="white"/><circle cx="120" cy="80" r="1.2" fill="white"/>...</svg>');
}

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

相关文章

css div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="n…

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <li…

css制作表单

css制作表单

使用CSS制作表单的基本方法 创建一个美观且功能完善的表单需要结合HTML结构和CSS样式。以下是关键步骤和示例代码: HTML基础结构 <form class="my-form">…

css制作六边形

css制作六边形

使用CSS创建六边形的方法 通过CSS的clip-path属性可以轻松实现六边形效果。以下是一个基础示例: .hexagon { width: 100px; height: 55px;…

css文件怎么制作

css文件怎么制作

创建CSS文件的基本步骤 CSS文件用于定义网页的样式,可以与HTML文件分离,便于管理和维护。以下是创建CSS文件的方法: 新建文本文件 使用任意文本编辑器(如Notepad++、VS Code、…

怎么制作风水罗盘css

怎么制作风水罗盘css

制作风水罗盘CSS 使用CSS创建一个风水罗盘(八卦罗盘)需要结合HTML和CSS技术,通过层叠样式表绘制罗盘的各个部分。以下是实现方法: 基本结构 创建HTML结构,包含罗盘的外圆、内圆、八卦符号…