CSS如何实现轮播图功能
短信预约 -IT技能 免费直播动态提醒
本篇内容介绍了“CSS如何实现轮播图功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
实现思路
通过animation达到动起来的效果,具体变化似乎有两种可行方式:
在动画中,通过CSS-transform不断平移轮播图元素位置。
在动画中,设置不同的left值。
实现效果与代码
其中值得注意的点在于需要手动在轮播图头部添加最后一张图的复制,否则会有明显的闪动效果。
实例
<!DOCTYPE html> <body> <div style="flex: 1;height: 300px;z-index: 10;box-shadow: inset 0 0 300px rgba(0, 0, 0, 0.99);"> left </div> <div class="showbox border box-shadow"> <div class="left border"> 左 </div> <div class="right border"> 右 </div> <div id="imgbox" class="center imgbox"> <img class="lazy" data-src="https://cdn.pixabay.com/photo/2018/01/03/05/33/the-sun-3057622__340.jpg" /> <img class="lazy" data-src="https://file.lsjlt.com/upload/202306/20/14wzs5uei11.jpg" /> <img class="lazy" data-src="https://file.lsjlt.com/upload/202306/20/ucalaqvsuos.jpg" /> <img class="lazy" data-src="https://file.lsjlt.com/upload/202306/20/tju0p0ttfli.jpg" /> </div> </div> <div style="flex: 1;height: 300px;z-index: 10;box-shadow: inset 0 0 300px rgba(0, 0, 0, 0.99);" > right </div></body><!-- <script> let a = 0 let max = 300 * 3; window.onload = function() { refresh(); } function refresh() { document.getElementById("imgbox").style.left = a + "px"; } function left() { a = (a-300)%max; refresh(); } function right () { a = (a+300)%max; refresh(); } </script> --><style> body { width: 100%; height: 100%; z-index: 0; box-shadow: inset 0 0 300px rgba(0, 0, 0, 0.1); } .center { display: flex; flex-direction: row; align-items: center; justify-content: center; } .showbox { width: 300px; height: 300px; position: relative; overflow: visible; display: flex; flex-direction: row; align-items: center; justify-content: center; opacity: 1; } .left { position: absolute; left: 0; top: 50%; cursor: pointer; background: blue; z-index: 100; } .right { position: absolute; right: 0; top: 50%; cursor: pointer; background: blue; z-index: 100; } .border { border: 1px solid black; } .centerimg { width: 100%; height: 100%; } .myimg { width: 300px; height: 300px; z-index: -1; opacity: 1; } .imgbox { position: absolute; left: -600px; top: 0; z-index: -1; animation: slideshow 10s both infinite; } @keyframes slideshow { 0% { left: -900px; } 33% { left: -600px; } 66% { left: -300px; } 100% { left: 0; } }</style> </html>
“CSS如何实现轮播图功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341