用html写轮播图

先放代码和效果图再讲解

<!doctype html>
<html>
<head lang="en">
    <meta charset="utf-8">
	<title>轮播图</title>
	<style>
	    #pp2{
		width:9999px;
		height:9999px;
		animation:switch 15s infinite;
		}
		#pp2>img{
		float:left;
		}
		#pp1{
		width:820px;
		height:340px;
		overflow:hidden;
		}
		@keyframes switch{
		0%{};
		20%{transform:translateX(0px);}
		40%{transform:translateX(-820px);}
		60%{transform:translateX(-1640px);}
		80%{transform:translateX(-2460px);}
		100%{transform:translateX(-3280px);}
		}
		
	</style>
</head>
    <body>
	    <div id="pp1">
		    <div id="pp2">
			     <img src="images/1.jpg"/>
			     <img src="images/2.jpg"/>
			     <img src="images/3.jpg"/>
			     <img src="images/4.jpg"/>
			     <img src="images/5.jpg"/>
			</div>
	    </div>
    </body>
</html>

 为了缩小图片内存,效果图有抽帧,就比较卡,实际效果不卡

        #pp2{
		width:9999px;
		height:9999px;
		animation:switch 15s infinite;
		}

这个宽高那么大,其实就是尽量设大一点,设成其他数值也可以,animation:switch 15s infinite表示这个gif时间一共是15秒

        #pp2>img{
		float:left;
		}

这是表示图片在左边

		#pp1{
		width:820px;
		height:340px;
		overflow:hidden;
		}

这宽高就是跟着图片的大小来写,overflow:hidden表示只显示一张图片在上面

		@keyframes switch{
		0%{};
		20%{transform:translateX(0px);}
		40%{transform:translateX(-820px);}
		60%{transform:translateX(-1640px);}
		80%{transform:translateX(-2460px);}
		100%{transform:translateX(-3280px);}
		}

没有设置时间的时候,五张图片其实是平铺在网页上的

这个对图片进行如何显示进行设置,我们一共有5张图片,假设时间一共是100%,分成五份,所以0%,20%等就是这么来的。

因为第一张就在最上面,所以我们0%不用设置任何东西,20%在0px就可以了。20%-40%时是第二张图片,所以我们的第一张图片就要往左移820px,以此类推。translateX是图片横向轮播,translateY是竖向轮播。

	    <div id="pp1">
		    <div id="pp2">
			     <img src="images/1.jpg"/>
			     <img src="images/2.jpg"/>
			     <img src="images/3.jpg"/>
			     <img src="images/4.jpg"/>
			     <img src="images/5.jpg"/>
			</div>
	    </div>

就是那5张图片放进div里

  • 56
    点赞
  • 443
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值