当前位置:首页 > CSS

纯css制作轮播

2026-01-28 15:21:30CSS

纯CSS轮播实现方法

通过CSS动画和关键帧可以实现无需JavaScript的轮播效果。以下是两种常见实现方式:

横向滑动轮播

HTML结构需固定宽度容器包裹图片列表:

<div class="slider">
  <div class="slide-track">
    <div class="slide"><img src="image1.jpg"></div>
    <div class="slide"><img src="image2.jpg"></div>
    <div class="slide"><img src="image3.jpg"></div>
  </div>
</div>

CSS关键样式:

纯css制作轮播

.slider {
  width: 300px;
  height: 200px;
  overflow: hidden;
  position: relative;
}

.slide-track {
  display: flex;
  width: calc(300px * 3);
  animation: scroll 10s linear infinite;
}

.slide {
  width: 300px;
}

@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-300px); }
}

淡入淡出轮播

HTML结构需要重叠的图片层:

<div class="fade-slider">
  <img class="slide" src="image1.jpg">
  <img class="slide" src="image2.jpg">
  <img class="slide" src="image3.jpg">
</div>

CSS关键样式:

纯css制作轮播

.fade-slider {
  position: relative;
  width: 300px;
  height: 200px;
}

.slide {
  position: absolute;
  opacity: 0;
  animation: fade 12s infinite;
}

.slide:nth-child(1) { animation-delay: 0s; }
.slide:nth-child(2) { animation-delay: 4s; }
.slide:nth-child(3) { animation-delay: 8s; }

@keyframes fade {
  0%, 33% { opacity: 1; }
  33.3%, 100% { opacity: 0; }
}

自动播放控制技巧

通过调整animation-duration可控制轮播速度。添加暂停交互:

.slider:hover .slide-track {
  animation-play-state: paused;
}

无限循环优化

对于横向轮播,复制首尾图片可避免切换时的空白间隙:

<div class="slide-track">
  <div class="slide"><img src="image3.jpg"></div> <!-- 复制末尾图片 -->
  <!-- 原始图片 -->
  <div class="slide"><img src="image1.jpg"></div>
  <div class="slide"><img src="image2.jpg"></div>
  <div class="slide"><img src="image3.jpg"></div>
  <div class="slide"><img src="image1.jpg"></div> <!-- 复制开头图片 -->
</div>

调整关键帧:

@keyframes scroll {
  0% { transform: translateX(-300px); }
  100% { transform: translateX(-900px); }
}

这些方法均依赖CSS动画特性,需注意浏览器兼容性。现代浏览器支持良好,但旧版本可能需要-webkit前缀。

标签: css
分享给朋友:

相关文章

css如何制作圆

css如何制作圆

使用 border-radius 属性制作圆 通过设置 border-radius 属性为元素添加圆角效果。当 border-radius 的值等于元素宽度和高度的一半时,元素会呈现圆形。 .cir…

css导航制作

css导航制作

基础导航栏制作 使用HTML的无序列表 <ul> 和 <li> 构建导航结构,CSS清除默认样式并横向排列: <nav> <ul class="navb…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-na…

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-n…

css制作六边形

css制作六边形

使用CSS创建六边形的方法 通过CSS的clip-path属性可以轻松实现六边形效果。以下是一个基础示例: .hexagon { width: 100px; height: 55px;…

css怎么制作三角形

css怎么制作三角形

使用边框制作三角形 通过设置元素的边框宽度和颜色,可以创建不同方向的三角形。将元素的宽度和高度设为0,利用边框的透明属性实现。 .triangle-up { width: 0; he…