美文网首页
css3 太阳、地球、月亮模型

css3 太阳、地球、月亮模型

作者: web前端技术 | 来源:发表于2020-05-13 08:44 被阅读0次

    效果图

    蓝色的背景下,红红的太阳在正中间,地球绕着太阳转,月亮绕着地球转~~不过转速什么的,当然经不起地理知识的推敲哈,大家也就看一个热闹。

    代码实现:

    首先在HTML里,定义div:

    CSS样式文件中,先初始化整体背景:

    ```html

    body {

    margin: 0;

    height: 100vh;

    display: flex;

    align-items: center;

    justify-content: center;

    background-color: #34e1ff;

    overflow: hidden;

    }

    ```

    .container {

    font-size: 10px;

    width: 40em;

    height: 40em;

    position: relative;

    }

    此时在浏览器里按下调试键,可以看到如下效果:

    正中间的div也就是我们的container。

    接下来开始画太阳:

    .sun {

    position: absolute;

    top: 15em;

    left: 15em;

    width: 10em;

    height: 10em;

    background-color: #fa0048;

    border-radius: 50%;

    box-shadow: 0 0 5em white;

    }

    其中,border-radius:50%画出了一个标准的圆,效果如下:

    画出地球和月亮:

    .earth::before,

    .moon::before {

    content: '';

    position: absolute;

    border-radius: 50%;

    }

    .earth::before {

    top: 2.8em;

    right: 2.8em;

    width: 3em;

    height: 3em;

    background-color: #00a6ff;

    }

    .moon::before {

    top: 0.8em;

    right: 0.2em;

    width: 1.2em;

    height: 1.2em;

    background-color: #fbf4ff;

    }

    效果如下:

    画出地球和月亮的运行尾巴以及初始位置:

    .earth,

    .moon {

    position: absolute;

    border-style: solid;

    border-color: white transparent transparent transparent;

    border-width: 0.1em 0.1em 0 0;

    border-radius: 50%;

    }

    /* !*rotation period 365.2422 days*!*/

    .earth {

    {!-- PGC_COLUMN --}

    top: 5em;

    left: 5em;

    width: 30em;

    height: 30em;

    animation: orbit 36.5s linear infinite;

    }

    /*!* rotation period 27.322 days *!*/

    .moon {

    top: 0;

    right: 0;

    width: 8em;

    height: 8em;

    animation: orbit 2.7s linear infinite;

    }

    这里我们给地球的animation动画设置了时间为36.5s,月亮转一圈的时间为2.7s,用来模拟现实生活中地球绕太阳转一圈需要365.2422天,月亮绕地球转一圈需要27.322天。

    此时效果如下:

    最后,给地球和月亮加上动画:

    @keyframes orbit {

    to {

    transform: rotate(1turn);

    }

    }

    此时已经实现了所有的效果,再来一张动图感受下:

    相关文章

      网友评论

          本文标题:css3 太阳、地球、月亮模型

          本文链接:https://www.haomeiwen.com/subject/ijsgnhtx.html