day14CSS3实现银河系动态效果

<style>
    body{
        background-color: #000;
        perspective: 2000px;
        
    }
    .ul1{
        list-style-type: none;
        width: 300px;
        height: 300px;
        position: absolute;
        left: 50%;
        margin-left: -150px;
        top: 50%;
        margin-top: -150px;
        /* border: 1px solid black; */
        perspective: 2000px;
        animation: run 5s linear infinite;
    }
    .li1{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
        border: 1px solid gold;
        width: 300px;
        height: 300px;
        border-radius: 50%;
        text-align: center;
        box-shadow: 0 0 5px gold;
        
    }
    .li1:nth-child(1){
        transform: rotateX(20deg);
    }
    .li1:nth-child(2){
        transform: rotateX(40deg);
    }
    .li1:nth-child(3){
        transform: rotateX(60deg);
    }
    .li1:nth-child(4){
        transform: rotateX(80deg);
    }
    .li1:nth-child(5){
        transform: rotateX(100deg);
    }
    .li1:nth-child(6){
        transform: rotateX(120deg);
    }
    .li1:nth-child(7){
        transform: rotateX(140deg);
    }
    .li1:nth-child(8){
        transform: rotateX(160deg);
    }
    .li1:nth-child(9){
        transform: rotateX(180deg);
    }

    .li1:nth-child(10){
        transform: rotateY(20deg);
    }
    .li1:nth-child(11){
        transform: rotateY(40deg);
    }
    .li1:nth-child(12){
        transform: rotateY(60deg);
    }
    .li1:nth-child(13){
        transform: rotateY(80deg);
    }
    .li1:nth-child(14){
        transform: rotateY(100deg);
    }
    .li1:nth-child(15){
        transform: rotateY(120deg);
    }
    .li1:nth-child(16){
        transform: rotateY(140deg);
    }
    .li1:nth-child(17){
        transform: rotateY(160deg);
    }
    .li1:nth-child(18){
        transform: rotateY(180deg);
    }
    @keyframes run{
        from{
            transform:  rotateZ(0);
        }
        to{
            transform:  rotateZ(-360deg);
        }
    }
    /* 光圈 */
    .wrap{
        width: 500px;
        height: 500px;
        border: 1px solid gray;
        box-shadow: 0 0 50px gray;
        animation: run2 2s linear infinite;
        border-radius: 50%;
        position: absolute;
        top: 27px;
        left: 450px;
    }
    @keyframes run2 {
       from{
           transform: rotateX(50deg) rotateY(-50deg) rotateZ(0);
       }
       to{
           transform: rotateX(50deg) rotateY(-50deg) rotateZ(360deg);
       }
    }
    .wrap2{
        width: 600px;
        height: 600px;
        border: 1px solid gray;
        box-shadow: 0 0 50px gray;
        border-radius: 50%;
        position: relative;
        left: 400px;
        top: -20px;
        animation: run3 10s linear infinite;
        transform-style: preserve-3d;

    }
    @keyframes run3{
        from{
            transform: rotateX(50deg) rotateY(-20deg) rotateZ(0deg);
        }
        to{
            transform: rotateX(50deg) rotateY(-20deg) rotateZ(360deg);
        }
    }
    .ul2{
        list-style-type: none;
        width: 100px;
        height: 100px;
        position: relative;
        transform-style: preserve-3d;
        
        /* border: 1px solid #fff; */
        perspective: 2000px;
        animation: run 5s linear infinite;
        transform-style: preserve-3d;
        margin-top: 60px;
    }
    .li2{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0 auto;
        border: 1px solid purple;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        text-align: center;
        box-shadow: 0 0 10px purple;
        
    }
    .li2:nth-child(1){
        transform: rotateX(20deg);
    }
    .li2:nth-child(2){
        transform: rotateX(40deg);
    }
    .li2:nth-child(3){
        transform: rotateX(60deg);
    }
    .li2:nth-child(4){
        transform: rotateX(80deg);
    }
    .li2:nth-child(5){
        transform: rotateX(100deg);
    }
    .li2:nth-child(6){
        transform: rotateX(120deg);
    }
    .li2:nth-child(7){
        transform: rotateX(140deg);
    }
    .li2:nth-child(8){
        transform: rotateX(160deg);
    }
    .li2:nth-child(9){
        transform: rotateX(180deg);
    }

    .li2:nth-child(10){
        transform: rotateY(20deg);
    }
    .li2:nth-child(11){
        transform: rotateY(40deg);
    }
    .li2:nth-child(12){
        transform: rotateY(60deg);
    }
    .li2:nth-child(13){
        transform: rotateY(80deg);
    }
    .li2:nth-child(14){
        transform: rotateY(100deg);
    }
    .li2:nth-child(15){
        transform: rotateY(120deg);
    }
    .li2:nth-child(16){
        transform: rotateY(140deg);
    }
    .li2:nth-child(17){
        transform: rotateY(160deg);
    }
    .li2:nth-child(18){
        transform: rotateY(180deg);
    }
    /* 第三个 */
    .wrap3{
        width: 800px;
        height: 800px;
        border: 1px solid gray;
        box-shadow: 0 0 50px gray;
        border-radius: 50%;
        position: absolute;
        left: 300px;
        top: -120px;
        animation: run4 30s linear infinite;
        transform-style: preserve-3d;

    }
    @keyframes run4{
        from{
            transform: rotateX(50deg) rotateY(-20deg) rotateZ(0deg);
        }
        to{
            transform: rotateX(50deg) rotateY(-20deg) rotateZ(-360deg);
        }
    }
    .ul3{
        list-style-type: none;
        width: 100px;
        height: 100px;
        position: relative;
       
        
        /* border: 1px solid #fff; */
        perspective: 2000px;
        animation: run 5s linear infinite;
        transform-style: preserve-3d;
        margin-top: 100px;
    }
    .li3{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0px auto;
        border: 1px solid yellowgreen;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        text-align: center;
        box-shadow: 0 0 10px yellowgreen;
        
        
    }
    .li3:nth-child(1){
        transform: rotateX(20deg);
    }
    .li3:nth-child(2){
        transform: rotateX(40deg);
    }
    .li3:nth-child(3){
        transform: rotateX(60deg);
    }
    .li3:nth-child(4){
        transform: rotateX(80deg);
    }
    .li3:nth-child(5){
        transform: rotateX(100deg);
    }
    .li3:nth-child(6){
        transform: rotateX(120deg);
    }
    .li3:nth-child(7){
        transform: rotateX(140deg);
    }
    .li3:nth-child(8){
        transform: rotateX(160deg);
    }
    .li3:nth-child(9){
        transform: rotateX(180deg);
    }

    .li3:nth-child(10){
        transform: rotateY(20deg);
    }
    .li3:nth-child(11){
        transform: rotateY(40deg);
    }
    .li3:nth-child(12){
        transform: rotateY(60deg);
    }
    .li3:nth-child(13){
        transform: rotateY(80deg);
    }
    .li3:nth-child(14){
        transform: rotateY(100deg);
    }
    .li3:nth-child(15){
        transform: rotateY(120deg);
    }
    .li3:nth-child(16){
        transform: rotateY(140deg);
    }
    .li3:nth-child(17){
        transform: rotateY(160deg);
    }
    .li3:nth-child(18){
        transform: rotateY(180deg);
    }
</style>
<ul class="ul1">
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
    <li class="li1"></li>
</ul>
<!-- 光圈1 -->
<div class="wrap"></div>
<!-- 光圈2 -->
<div class="wrap2">       
        <ul class="ul2">
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
            <li class="li2"></li>
           
        </ul>
</div>
<!-- 光圈3 -->
<div class="wrap3">       
        <ul class="ul3">
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
            <li class="li3"></li>
           
           
        </ul>
</div>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值