pxr_0321 2019-05-28 19:11 采纳率: 0%
浏览 4526

css怎么实现自动轮播图片?

如下代码已实现手动轮播,求教怎么实现自动轮播?刚进入代码圈的小白,求大神赐教。非常感谢。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            body{
                background-size: cover;
            }
            img{
                width: 900px;
                height: 330px;
            }
            .photo{
                width: 900px;
                height: 330px;
                /* border: 1px solid #555555;*/
                margin: auto auto;
                position: relative;
                background: #B0C4DE;
                box-shadow: 0 10px 80px rgba(0,0,0,0.6);
                animation: ma 5s ease-out infinite alternate;
            }
            #photos {/*---设置总的图片宽度--通过位移来达到轮播效果----*/
                position: absolute;z-index:9px;
                width: calc(300px * 6);/*---修改图片数量的话需要修改下面的动画参数*/
            }
            .photo input{
                display: none;
            }
            .image{
                position: absolute;
                top: -25px;
                left: -25px;
                width: 500px;
                height: 330px;
                margin: 25px 25px;
                opacity: 0;
                transition: all 0.7s;
            }

            .nav label{
                width: 150px;
                height: 330px;
                /*margin: 0px 0px;*/
                position: absolute;
                z-index: 10;
                opacity: 0;
                display: none;
                cursor: pointer;
                transition: opacity 0.2s;
                color: #ffffff;
                font-size: 50px;
                line-height: 320px;
                text-align: center;
                text-shadow: 0 0 15px #555555);
            }
            .leftjianbian{
                background: linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -o-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -ms-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -moz-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -webkit-linear-gradient(right , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
            }
            .rightjianbian{
                background: linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -o-linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -ms-linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -moz-linear-gradient(left , rgba(250, 242, 239,0) 1% , rgba(158, 148, 166,0.5) 100%);
                background: -webkit-linear-gradient(left , rgba(250, 242, 239,0) 10% , rgba(158, 148, 166,0.5) 100%);
            }
            .image:hover + .nav label{
                opacity: 0.5;
            }
            .nav label:hover{
                opacity: 1;
            }
            .nav .down{
                right: 0;
            }
            input:checked + .control .image{
                opacity: 1;
                transform: scale(1);
                transition: all 1s;
            }
            input:checked + .control .nav label{
                display: block;
            }
            .dots{
                width:100%;
                height: 20px;
                position: absolute;
                bottom: 30px;
                text-align: center;
            }
            .dot{
                width: 15px;
                height: 15px;
                margin: 0px 5px;
                border-radius: 50%;
                position: relative;
                display: inline-block;
                background: rgba(0, 0, 0,0.4);
            }
            input#img1:checked ~ .dots label#dot1,
            input#img2:checked ~ .dots label#dot2,
            input#img3:checked ~ .dots label#dot3,
            input#img4:checked ~ .dots label#dot4,
            input#img5:checked ~ .dots label#dot5,
            input#img6:checked ~ .dots label#dot6{
                background: rgba(0,0,0,0.7);
            }
        </style>
    </head>

<body>
    <div class="photo" id="photo">
        <!--//1-->
        <input type="radio" name="btn" id="img1" checked/>
        <div class="control">
            <div class="image"><a href="#"><img src="../img/3.png"></a></div>
            <div class="nav">
                <label for="img6" class="up leftjianbian"><</label>
                <label for="img2" class="down rightjianbian">></label>
            </div>
        </div>
        <!--//2-->
        <input type="radio" name="btn" id="img2"/>
        <div class="control">
            <div class="image"><a href="#"><img src="../img/2.png"></a></div>
            <div class="nav">
                <label for="img1" class="up leftjianbian"><</label>
                <label for="img3" class="down rightjianbian">></label>
            </div>
        </div>
        <!--//3-->
        <input type="radio" name="btn" id="img3"/>
        <div class="control">
            <div class="image"><a href="#"><img src="../img/5.png"></a></div>
            <div class="nav">
                <label for="img2" class="up leftjianbian"><</label>
                <label for="img4" class="down rightjianbian">></label>
            </div>
        </div>
        <!--//4-->
        <input type="radio" name="btn" id="img4"/>
        <div class="control">
            <div class="image"><a href="#"><img src="../img/4.png"></a></div>
            <div class="nav">
                <label for="img3" class="up leftjianbian"><</label>
                <label for="img5" class="down rightjianbian">></label>
            </div>
        </div>
        <!--//5-->
        <input type="radio" name="btn" id="img5"/>
        <div class="control">
            <div class="image"><a href="#"><img src="../img/1.png"></a></div>
            <div class="nav">
                <label for="img4" class="up leftjianbian"><</label>
                <label for="img6" class="down rightjianbian">></label>
            </div>
        </div>
        <!--//6-->
        <input type="radio" name="btn" id="img6"/>
        <div class="control">
            <div class="image"><a href="#"><img src="../img/6.png"></a></div>
            <div class="nav">
                <label for="img5" class="up leftjianbian"><</label>
                <label for="img1" class="down rightjianbian">></label>
            </div>
        </div>
        <div class="dots">
            <label for="img1" class="dot" id="dot1"></label>
            <label for="img2" class="dot" id="dot2"></label>
            <label for="img3" class="dot" id="dot3"></label>
            <label for="img4" class="dot" id="dot4"></label>
            <label for="img5" class="dot" id="dot5"></label>
            <label for="img6" class="dot" id="dot6"></label>
        </div>
    </div>

</body>
</html>
  • 写回答

4条回答 默认 最新

  • OnceSure 2019-05-30 11:41
    关注

    轮播有swiper,你可以看看swiper的源码,很详细

    评论

报告相同问题?

悬赏问题

  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL