CSS3: animation实现简易幻灯片效果(轮播)

前言

CSS3有个别特性,可以触发硬件GPU来加速渲染,而不是调用默认浏览器引擎渲染;

但是很多属性,默认都是不开启硬件加速的;需要触发条件,一个最简单的触发条件就是使用3D属性(对Z轴的操作)

效果图

这里写图片描述

代码

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<title>CSS3幻灯片</title>
	<style type="text/css" media="screen">
		.items {
		    width: 280px;
		    height: 150px;
		    border: 1px solid #ddd;
				box-sizing: border-box;
				border-radius:10px;
				background-size: cover;
		    -webkit-transform: translateZ(0);
		    transform: translateZ(0);
				background-repeat: no-repeat;
		    -webkit-animation: slider 15s linear infinite alternate;
		    animation: slider 15s linear infinite alternate;
		    -webkit-transform-origin: center center;
		            transform-origin: center center;

		}



		@-webkit-keyframes slider {
		    0% {
		        background-image: url(1.jpg) ;
		    }
		    25% {
		        background-image: url(2.jpg) ;

		    }
		    50% {
		        background-image: url(3.jpg) ;

		    }
		    75% {
		        background-image: url(4.jpg);

		    }
		    100% {
		        background-image: url(5.jpg);

		    }
		}
@keyframes slider {
		    0% {
		        background-image: url(1.jpg) ;

		    }
		    25% {
		        background-image: url(2.jpg) ;

		    }
		    50% {
		        background-image: url(3.jpg) ;

		    }
		    75% {
		        background-image: url(4.jpg);

		    }
		    100% {
		        background-image: url(5.jpg);

		    }
		}


	</style>
</head>

<body>
	<div class="slider">
		<div class="items"></div>
	</div>
</body>

</html>

好的,以下是实现幻灯片效果的示例代码: HTML 代码: ```html <div class="slideshow"> <img src="image1.jpg" alt="image1"> <img src="image2.jpg" alt="image2"> <img src="image3.jpg" alt="image3"> </div> ``` CSS 代码: ```css .slideshow { position: relative; height: 400px; width: 600px; margin: 0 auto; } .slideshow img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease-in-out; } .slideshow img:first-child { opacity: 1; } @keyframes slideshow { 0% { opacity: 0; } 20% { opacity: 1; } 25% { opacity: 1; } 45% { opacity: 0; } 100% { opacity: 0; } } .slideshow img:nth-child(2) { animation-delay: 5s; animation-name: slideshow; animation-duration: 15s; animation-iteration-count: infinite; } .slideshow img:nth-child(3) { animation-delay: 10s; animation-name: slideshow; animation-duration: 15s; animation-iteration-count: infinite; } ``` 在上面的代码中,我们创建了一个 `.slideshow` 容器,其中包含了三个 `img` 元素,分别是三张图片。我们使用了 `position: absolute` 来将图片定位在容器的左上角,同时使用 `opacity` 来设置图片的透明度,初始值为 0。然后,我们使用了 `transition` 属性来设置图片的渐变动画。接着,我们使用了 `@keyframes` 规则来定义幻灯片动画的关键帧。最后,我们使用了 `animation` 属性来指定图片的动画名称、动画时长、动画延迟和动画次数。 在这个示例中,我们使用了三张图片来创建幻灯片效果,并设置了第二张图片和第三张图片的动画延迟时间,以实现图片轮播效果。你可以根据需要调整动画效果和图片数量来实现不同的幻灯片效果
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值