HTML5+CSS3实现轮播图

HTML5+CSS3来实现轮播图
利用CSS3的新属性Animation,主要是利用CSS3的动画的特性,不需要任何JS技术即可实现轮播图:

下面就是我实现轮播图的步骤
(1)、先用@keyframes创建一个动画

@keyframes identifier {
        from{
              /*初始状态*/
        }to{
             /*结束状态*/
        }
    }

(2)、通过animation 来配置动画效果

animation-name: move;            //需要执行那个动画名move
animation-duration: 30s;             //动画执行的时间为30s
animation-iteration-count: infinite;  //动画迭代次数为无限循环 infinite
animation-timing-function: steps(5);   //动画分5步完成(5张图片)

HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div#outer{
            width: 400px;
            height: 200px;
            border: 1px solid red;
            margin:0 auto;
            overflow: hidden;
        }
        div.move{
            width: 2000px;
            height: 200px;
            background-color: red;
            
            animation-name: move;
            animation-duration: 10s;
            animation-timing-function: steps(5);
            animation-iteration-count: infinite;
        }
        div.move div{
            width: 400px;
            height: 200px;
            float: left;
            color: #fff;
            font-size: 30px;
        }

        @keyframes move{
            from{
                margin-left: 0px;
            }
            to{
                margin-left: -2000px;
            }
        }
    </style>
</head>
<body>
    <div id="outer">
        <div class="move">
            <div style="background-color: red;">div1</div>
            <div style="background-color: blue;">div2</div>
            <div style="background-color: green;">div3</div>
            <div style="background-color: pink;">div4</div>
            <div style="background-color: purple;">div5</div>
        </div>
    </div>
</body>
</html>
  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的HTMLCSS和JS轮播图的示例: ```html <!DOCTYPE html> <html> <head> <title>轮播图</title> <style> .container { width: 600px; height: 400px; position: relative; overflow: hidden; } .container img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 1s ease-in-out; } .container img.active { opacity: 1; } .controls { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; } .controls button { background-color: #fff; border: none; margin-right: 10px; cursor: pointer; } </style> </head> <body> <div class="container"> <img src="img1.jpg" class="active"> <img src="img2.jpg"> <img src="img3.jpg"> </div> <div class="controls"> <button onclick="prevSlide()">上一张</button> <button onclick="nextSlide()">下一张</button> </div> <script> var slides = document.querySelectorAll('.container img'); var currentSlide = 0; function nextSlide() { slides[currentSlide].classList.remove('active'); currentSlide = (currentSlide + 1) % slides.length; slides[currentSlide].classList.add('active'); } function prevSlide() { slides[currentSlide].classList.remove('active'); currentSlide = (currentSlide - 1 + slides.length) % slides.length; slides[currentSlide].classList.add('active'); } setInterval(nextSlide, 5000); </script> </body> </html> ``` 这个轮播图使用了一个包含三张图片的容器,每张图片都是绝对定位的,并且默认情况下不可见。通过添加和删除“active”类来控制哪张图片可见。轮播图还包括两个按钮,用于手动切换图片。最后,使用JavaScript设置了一个定时器,每隔5秒钟自动切换到下一张图片

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值