温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用CSS实现日地月公转动画效果

发布时间:2021-09-15 10:51:19 阅读:159 作者:chen 栏目:web开发
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容主要讲解“利用CSS实现日地月公转动画效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“利用CSS实现日地月公转动画效果”吧!

HTML

重点是CSS,HTML放上三个 div 就ok了。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
        <title>Mancuoj</title>
        <link
            href="simulation.css"
            rel="stylesheet"
        />
    </head>

    <body>
        <h2>Mancuoj</h2>
        <figure>
            <div></div>
            <div>
                <div></div>
            </div>
        </figure>
    </body>
</html>

背景和文字

导入我最喜欢的 Lobster 字体,然后设为白色,字体细一点。

@import url("https://fonts.googleapis.com/css2?family=Lobster&display=swap");

h2 {
    color: white;
    font-size60px;
    font-family: Lobster, monospace;
    font-weight100;
}

背景随便找了一个偏黑紫色,然后把画的内容设置到中间。

body {
    margin0;
    height100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color#2f3141;
}

.container {
    font-size10px;
    width40em;
    height40em;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

日地月动画

众所周知:地球绕着太阳转,月球绕着地球转。

我们画的是公转,太阳就直接画出来再加个阴影高光,月亮地球转就可以了。

最重要的其实是配色(文章末尾有推荐网站),我实验好长时间的配色,最终用了三个渐变色来表示日地月。

日: linear-gradient(#fcd670#f2784b);
地: linear-gradient(#19b5fe#7befb2);
月: linear-gradient(#8d6e63#ffe0b2);

CSS 应该难不到大家,随便看看吧。

轨道用到了 border,用银色线条当作公转的轨迹。

动画用到了自带的 animation ,每次旋转一周。

.sun {
    position: absolute;
    width10em;
    height10em;
    backgroundlinear-gradient(#fcd670#f2784b);
    border-radius50%;
    box-shadow0 0 8px 8px rgba(242120750.2);
}

.earth {
    --diameter30;
    --duration36.5;
}

.moon {
    --diameter8;
    --duration2.7;
    top0.3em;
    right0.3em;
}

.earth,
.moon {
    position: absolute;
    widthcalc(var(--diameter) * 1em);
    heightcalc(var(--diameter) * 1em);
    border-width0.1em;
    border-style: solid solid none none;
    border-color: silver transparent transparent transparent;
    border-radius50%;
    animation: orbit linear infinite;
    animation-durationcalc(var(--duration) * 1s);
}

@keyframes orbit {
    to {
        transformrotate(1turn);
    }
}

.earth::before {
    --diameter3;
    --colorlinear-gradient(#19b5fe#7befb2);
    --top2.8;
    --right2.8;
}

.moon::before {
    --diameter1.2;
    --colorlinear-gradient(#8d6e63#ffe0b2);
    --top0.8;
    --right0.2;
}

.earth::before,
.moon::before {
    content"";
    position: absolute;
    widthcalc(var(--diameter) * 1em);
    heightcalc(var(--diameter) * 1em);
    backgroundvar(--color);
    border-radius50%;
    topcalc(var(--top) * 1em);
    rightcalc(var(--right) * 1em);
}

到此,相信大家对“利用CSS实现日地月公转动画效果”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css
AI

开发者交流群×