如何让吴磊、易烊千玺、肖站等小鲜肉围着你转

话不多说, 先上效果图





在这里插入图片描述

接下来看如何实现。

用到的知识点就是 css 中的 position 属性,以及 transform、transition 属性。

代码不是很多就直接上代码码了,相关的注释也都写了,应该不难懂。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>环形旋转</title>


    <style>

        .container {
            margin: 0 auto;
            position: relative;
            width: 50%;
            height: 1000px;
        }

        .circle-box {
            position: absolute;
            top: 36%;
            left: 41%;
        }

        .center-point {
            position: absolute;
            top: 32%;
            left: 32%;
            width: 240px;

        }

        .circle {
            /* 这里一定要绝对定位,这样位置才能铺开来 */
            position: absolute;
            width: 100px;
            height: 50px;

        }


        .circle img {
            border-radius: 50% 50%;
            width: 100px;

        }

    </style>
</head>

<body>


<div class="container">
    <img class="center-point" src="./image/10.jpeg" alt=""/>
    <div class="circle-box">
        <div class="circle circle0">
            <img src="./image/1.jpg" alt="">
        </div>
        <div class="circle circle1">
            <img src="./image/2.jpg" alt="">
        </div>
        <div class="circle circle2">
            <img src="./image/3.jpg" alt="">
        </div>
        <div class="circle circle3">
            <img src="./image/4.jpg" alt="">
        </div>

        <div class="circle circle4">
            <img src="./image/5.jpg" alt="">

        </div>
        <div class="circle circle5">
            <img src="./image/6.jpg" alt="">

        </div>
        <div class="circle circle6">
            <img src="./image/7.jpeg" alt="">

        </div>
        <div class="circle circle7">
            <img src="./image/8.jpg" alt="">

        </div>
        <div class="circle circle8">
            <img src="./image/9.jpg" alt="">

        </div>

    </div>
</div>


<script src="jquery.min.js"></script>
<script>
    var length = $('.circle').length


    for (var i = 0; i < length; i++) {
        $('.circle').eq(i).css({
            'transform': 'rotate(' + (i * 40) + 'deg) ' + 'translateY(260px) ' + 'rotateZ(-' + (i * 40) + 'deg)',
            'transition': 'all 2s'
        })
    }
    var times = 0

    // 鼠标悬浮到图片上面,触发旋转动画
    // $('.circle-box').hover(function () {
    //     for (var i = 0; i < length; i++) {
    //         $('.circle').eq(i).css({
    //             'transform': 'rotate(' + ((i + times) * 40) + 'deg) ' + 'translateY(260px) ' + 'rotateZ(-' + ((i + times) * 40) + 'deg)',
    //             'transition': 'all 2s'
    //         })
    //     }
    // }, function () {
    //     times++
    // })

    // 每隔 2s 执行一次动画

    setInterval(function(){
        times++ 
        for (var i = 0; i < length; i++) {
            $('.circle').eq(i).css({
                'transform': 'rotate(' + ((i + times) * 40) + 'deg) ' + 'translateY(260px) ' + 'rotateZ(-' + ((i + times) * 40) + 'deg)',
                'transition': 'all 2s'
            })
        }
    },2000)


</script>

</body>

</html>

是不是很简单!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值