当前位置:首页 > 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关键样式:

.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关键样式:

.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>

调整关键帧:

纯css制作轮播

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

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

标签: css
分享给朋友:

相关文章

css个人简历制作两页

css个人简历制作两页

使用CSS制作两页个人简历 创建两页的个人简历需要合理布局和分页控制,以下是实现方法: HTML基础结构 <!DOCTYPE html> <html lang="zh-CN">…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox实现水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { backgroun…

css制作箭头

css制作箭头

使用边框制作箭头 通过设置元素的 border 属性,利用透明边框和实色边框的组合生成箭头。例如,创建一个向右的箭头: .arrow-right { width: 0; height:…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…

css精灵图制作

css精灵图制作

CSS精灵图制作方法 将多个小图标或背景图像合并到一张大图中,通过CSS的background-position属性定位显示特定部分,减少HTTP请求次数,提升页面加载性能。 准备素材 收集需要合并…

css制作二级菜单

css制作二级菜单

CSS制作二级菜单的方法 通过纯CSS实现二级菜单主要依赖HTML结构嵌套和CSS的:hover伪类选择器。以下是具体实现方式: HTML结构 <ul class="main-menu"&g…