使用CSS实现月亮围着地球转动的特效

要实现月亮围绕地球转动的特效,你可以使用CSS的动画和转换属性。以下是一个简单的示例,展示了如何使用CSS创建这种效果:

  1. HTML结构
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>地球和月亮</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="earth">
        <div class="moon"></div>
    </div>
</body>
</html>
  1. CSS样式和动画 (styles.css 文件):
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #000;
}

.earth {
    position: relative;
    width: 200px;
    height: 200px;
    background-color: blue;
    border-radius: 50%;
    animation: rotate 10s linear infinite;
}

.moon {
    position: absolute;
    top: 50px; /* 调整月亮的位置 */
    left: 200px; /* 调整月亮的位置 */
    width: 100px;
    height: 100px;
    background-color: gray;
    border-radius: 50%;
    animation: orbit 5s linear infinite; /* 月亮围绕地球的轨道动画 */
}

/* 地球自转动画 */
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* 月亮围绕地球的轨道动画 */
@keyframes orbit {
    from {
        transform: rotate(0deg) translateX(150px); /* 调整translateX的值以改变轨道半径 */
    }
    to {
        transform: rotate(360deg) translateX(150px); /* 保持轨道半径一致 */
    }
}

在这个示例中,.earth 类代表地球,而 .moon 类代表月亮。地球使用 rotate 动画进行自转,而月亮使用 orbit 动画围绕地球旋转。你可以通过调整动画的持续时间、月亮的位置和轨道半径来自定义这个效果。

请注意,这只是一个基本的示例,用于展示如何使用CSS创建这种动画效果。在实际项目中,你可能需要添加更多的细节和样式来使效果更加逼真。

posted @   王铁柱6  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示