浅谈纯CSS实现轮播

本文通过HTML和CSS展示了如何不依赖JavaScript实现一个简单的图片轮播效果。利用CSS的`@keyframes`动画和相对定位,实现了图片的平滑切换,并通过不同颜色的指示点显示当前展示的图片位置。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html>
	<head>
		<style type="text/css">
			.box{
				position:absolute;
				width:20px;
				height:20px;
				background:grey;
				color:white;
				text-align:center;
				font-family:Microsoft Yahei;
			}
			#move1{
				bottom:0;
				left:240px;
				animation:change1 10s ease-out infinite;
			}
			#move2{
				bottom:0;
				left:260px;
				animation:change2 10s ease-out infinite;
			}
			#move3{
				bottom:0;
				left:280px;
				animation:change3 10s ease-out infinite;
			}
			#frame{
				position:absolute;
				width:300px;
				height:200px;
				overflow:hidden;
			}
			#photos img{
				float:left;
				width:300px;
				height:200px;
			}
			#photos{
				position:relative;
				width:900px; 
				animation:actions 10s ease-out infinite;
			}
			@keyframes actions{
				0%,30%{margin-left:0px;}
				35%,65%{margin-left:-300px;}
				70%,100%{margin-left:-600px;}
			}
			@keyframes change1{
				0%,30%{b
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的HTML和CSS实现轮播图的示例: ```html <!DOCTYPE html> <html> <head> <title>轮播图</title> <style type="text/css"> .container { position: relative; width: 600px; height: 400px; overflow: hidden; } .container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease-in-out; } .container img.active { opacity: 1; } </style> </head> <body> <div class="container"> <img src="image1.jpg" class="active"> <img src="image2.jpg"> <img src="image3.jpg"> </div> <script type="text/javascript"> var images = document.getElementsByTagName('img'); var index = 0; setInterval(function() { images[index].className = ''; index = (index + 1) % images.length; images[index].className = 'active'; }, 2000); </script> </body> </html> ``` 解释一下代码: 1. HTML部分:使用一个`div`元素作为容器,其中包含了三个`img`元素,分别对应三张图片。第一张图片默认添加了`active`类,表示默认显示。 2. CSS部分:设置了`.container`元素的样式,使其具有相对定位、固定宽高、隐藏溢出等特性;设置了`.container img`元素的样式,使其具有绝对定位、铺满容器、透明度为0(不可见)等特性;设置了`.container img.active`元素的样式,使其透明度为1(可见)。 3. JavaScript部分:获取所有`img`元素,初始化`index`值为0,使用`setInterval`函数每隔2秒钟执行一次匿名函数。匿名函数将当前显示的`img`元素的`active`类移除,将`index`值自增1并取余,再将下一个`img`元素添加`active`类,实现轮播效果。 注意:这个示例仅作为参考,实际应用中可能需要根据需求进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值