css3动画轮播图
程序员文章站
2022-04-24 09:48:11
...
css3动画轮播图
核心:
1.起始位置是负的一轮长度(即四个小li为一轮)。
2.移动最终位置是0,即从负的一轮长度移到起点即可。
3.鼠标触碰位置暂停动画,属性animation-play-state: paused;。
效果图:
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>轮播</title>
<style>
* {
margin: 0;
padding: 0;
border: 0;
}
.box {
margin: 200px;
width: 400px;
height: 50px;
box-sizing: border-box;
border: 1px solid #000;
overflow: hidden;
}
.box ul {
list-style: none;
width: 1400px;
transform: translateX(-400px);
animation: move 6s linear infinite;
}
.box:hover ul {
animation-play-state: paused;
}
.box ul li {
float: left;
width: 100px;
height: 50px;
border: 1px solid rgb(251, 251, 251);
}
.box ul li:nth-child(n) {
background: url(img/31.png);
background-size: 100px 50px;
}
.box ul li:nth-child(2n) {
background: url(img/8.png);
background-size: 100px 50px;
}
.box ul li:nth-child(3n) {
background: url(img/25.png);
background-size: 100px 50px;
}
.box ul li:nth-child(4n) {
background: url(img/12.png);
background-size: 100px 50px;
}
@keyframes move {
to {
transform: translateX(0px);
}
}
</style>
</head>
<body>
<div class="box">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</body>
</html>