一、橫版跑馬燈
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
/* 重點:盒子寬度 600 */
width: 600px;
height: 150px;
border: 3px solid black;
overflow: hidden;
}
.box ul {
margin: 0;
padding: 0;
list-style: none;
display: flex;
height: 100%;
animation: move 5s linear infinite;
}
/* hover 暫停,不用可去掉 */
.box ul:hover {
animation-play-state: paused;
}
.box ul li {
height: 100%;
/* 重點:單個圖片寬度 200,相當(dāng)于默認(rèn)不動可見 3 個 */
width: 200px;
flex-shrink: 0;
}
.box ul li img {
height: 100%;
width: 100%;
}
@keyframes move {
/* 為什么設(shè)置 -800px ?公式:主圖張數(shù) * 單個圖片寬度(每輪主圖只有 4 張,4 張照片為一個周期,如果需要輪播的主圖為 7、8、9...張,都一樣) */
100% {
transform: translateX(-800px);
}
}
</style>
</head>
<body>
<!-- 窗口 -->
<div class="box">
<!-- 輪播列表 -->
<ul>
<!-- 輪播主圖 -->
<li><a href="#"><img src="./1.jpg" alt=""></a></li>
<li><a href="#"><img src="./2.jpg" alt=""></a></li>
<li><a href="#"><img src="./3.jpg" alt=""></a></li>
<li><a href="#"><img src="./4.jpg" alt=""></a></li>
<!-- 輪播完成防止留白 -->
<!-- 怎么確定尾部需要幾張防止留白,3 張是怎么得出的?其實就是上面: 盒子寬度 / 單個圖片寬度 = 一屏幾張留白圖 -->
<li><a href="#"><img src="./1.jpg" alt=""></a></li>
<li><a href="#"><img src="./2.jpg" alt=""></a></li>
<li><a href="#"><img src="./3.jpg" alt=""></a></li>
</ul>
</div>
</body>
</html>
二、豎版跑馬燈
文章來源:http://www.zghlxwxcb.cn/news/detail-469935.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 600px;
/* 重點:盒子寬度 150 */
height: 150px;
border: 3px solid black;
overflow: hidden;
}
.box ul {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
height: 100%;
animation: move 5s linear infinite;
}
/* hover 暫停,不用可去掉 */
.box ul:hover {
animation-play-state: paused;
}
.box ul li {
/* 重點:單個圖片高度 150,相當(dāng)于默認(rèn)不動可見 1 個 */
height: 150px;
width: 100%;
flex-shrink: 0;
}
.box ul li img {
height: 100%;
width: 100%;
}
@keyframes move {
/* 為什么設(shè)置 -600px ?公式:主圖張數(shù) * 單個圖片高度(每輪主圖只有 4 張,4 張照片為一個周期,如果需要輪播的主圖為 7、8、9...張,都一樣) */
100% {
transform: translateY(-600px);
}
}
</style>
</head>
<body>
<!-- 窗口 -->
<div class="box">
<!-- 輪播列表 -->
<ul>
<!-- 輪播主圖 -->
<li><a href="#"><img src="./1.jpg" alt=""></a></li>
<li><a href="#"><img src="./2.jpg" alt=""></a></li>
<li><a href="#"><img src="./3.jpg" alt=""></a></li>
<li><a href="#"><img src="./4.jpg" alt=""></a></li>
<!-- 輪播完成防止留白 -->
<!-- 怎么確定尾部需要幾張防止留白,1 張是怎么得出的?其實就是上面: 盒子高度 / 單個圖片高度 = 一屏幾張留白圖 -->
<li><a href="#"><img src="./1.jpg" alt=""></a></li>
</ul>
</div>
</body>
</html>
三、豎版跑馬燈(帶漸變遮罩,可以改成橫向的)
文章來源地址http://www.zghlxwxcb.cn/news/detail-469935.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
position: relative;
width: 600px;
/* 重點:盒子寬度 150 */
height: 150px;
overflow: hidden;
}
.box ul {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
height: 100%;
animation: move 5s linear infinite;
}
/* hover 暫停,不用可去掉 */
.box ul:hover {
animation-play-state: paused;
}
.box ul li {
/* 重點:單個圖片高度 150,相當(dāng)于默認(rèn)不動可見 1 個 */
height: 150px;
width: 100%;
flex-shrink: 0;
}
.box ul li img {
height: 100%;
width: 100%;
}
@keyframes move {
/* 為什么設(shè)置 -600px ?公式:主圖張數(shù) * 單個圖片高度(每輪主圖只有 4 張,4 張照片為一個周期,如果需要輪播的主圖為 7、8、9...張,都一樣) */
100% {
transform: translateY(-600px);
}
}
/* 頂部、底部白色漸變 */
.header-blur {
position: absolute;
left: 0;
top: 0;
right: 0;
height: 10px;
/* background-image: linear-gradient(red, green 50%); */
background-image: linear-gradient(#fff, rgba(0, 0, 0, 0) 50%);
z-index: 1;
}
.footer-blur {
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 10px;
/* background-image: linear-gradient(red 40%, green); */
background-image: linear-gradient(rgba(0, 0, 0, 0) 40%, #fff);
z-index: 1;
}
</style>
</head>
<body>
<!-- 窗口 -->
<div class="box">
<!-- 頂部、底部白色漸變 -->
<div class="header-blur"></div>
<div class="footer-blur"></div>
<!-- 輪播列表 -->
<ul>
<!-- 輪播主圖 -->
<li><a href="#"><img src="./1.jpg" alt=""></a></li>
<li><a href="#"><img src="./2.jpg" alt=""></a></li>
<li><a href="#"><img src="./3.jpg" alt=""></a></li>
<li><a href="#"><img src="./4.jpg" alt=""></a></li>
<!-- 輪播完成防止留白 -->
<!-- 怎么確定尾部需要幾張防止留白,1 張是怎么得出的?其實就是上面: 盒子高度 / 單個圖片高度 = 一屏幾張留白圖 -->
<li><a href="#"><img src="./1.jpg" alt=""></a></li>
</ul>
</div>
</body>
</html>
到了這里,關(guān)于前端原生 CSS 跑馬燈效果,無限輪播(橫豎版本,帶漸變遮罩,簡單實用)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!