当前位置:首页 > CSS

制作css轮播图

2026-03-12 11:56:59CSS

使用纯CSS制作轮播图

轮播图可以通过CSS的animation@keyframes实现自动切换效果。以下是一个基础实现方案:

HTML结构

<div class="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">Slide 1</div>
    <div class="carousel-item">Slide 2</div>
    <div class="carousel-item">Slide 3</div>
  </div>
</div>

CSS样式

.carousel {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.carousel-inner {
  display: flex;
  width: 300%; /* 根据幻灯片数量调整 */
  animation: slide 9s infinite;
}

.carousel-item {
  width: 33.333%; /* 100% / 幻灯片数量 */
  padding: 20px;
  text-align: center;
}

@keyframes slide {
  0%, 33% { transform: translateX(0); }
  33.33%, 66% { transform: translateX(-33.333%); }
  66.66%, 100% { transform: translateX(-66.666%); }
}

添加导航指示器

可以通过伪元素或额外HTML元素创建导航点:

HTML添加

<div class="carousel-indicators">
  <span class="indicator active"></span>
  <span class="indicator"></span>
  <span class="indicator"></span>
</div>

CSS样式

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.indicator {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
}

.indicator.active {
  background: white;
  animation: pulse 3s infinite;
}

@keyframes pulse {
  0%, 33% { opacity: 1; }
  33.33%, 100% { opacity: 0.5; }
}

响应式调整

通过媒体查询适应不同屏幕尺寸:

@media (max-width: 768px) {
  .carousel-item {
    padding: 10px;
    font-size: 14px;
  }

  .carousel-indicators {
    bottom: 5px;
  }

  .indicator {
    width: 8px;
    height: 8px;
  }
}

悬停暂停功能

添加鼠标悬停时暂停动画的效果:

制作css轮播图

.carousel:hover .carousel-inner {
  animation-play-state: paused;
}

.carousel:hover .indicator {
  animation-play-state: paused;
}

注意事项

  • 动画时间计算:总动画时间 = 每张幻灯片显示时间 × 幻灯片数量
  • transform百分比值根据幻灯片数量等比例分配
  • 确保@keyframes中的百分比值与幻灯片切换时间匹配
  • 对于更复杂效果,可以考虑使用CSS变量动态控制参数

这种方法无需JavaScript,适合简单展示场景。如需交互功能(如手动切换),建议结合JavaScript实现。

标签: css轮播图
分享给朋友:

相关文章

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的::before和::after伪元素结合border属性可以创建简单的几何形状图标。例如制作一个三角形: .triangle { w…

css制作下拉菜单

css制作下拉菜单

CSS 制作下拉菜单的方法 使用纯 CSS 可以创建简单的下拉菜单效果,主要依赖 :hover 伪类和 display 属性控制子菜单的显示与隐藏。 基础 HTML 结构 <div class…

纯css制作幻灯片

纯css制作幻灯片

纯CSS制作幻灯片的方法 使用纯CSS制作幻灯片主要依赖CSS动画和关键帧(@keyframes)技术,结合HTML结构实现轮播效果。以下是两种常见的实现方式: 方法一:使用CSS动画和无限循环 H…

制作外置css

制作外置css

创建外置CSS文件 新建一个文本文件,将其命名为style.css。确保文件扩展名为.css,而不是.txt。使用代码编辑器(如VS Code、Sublime Text等)打开该文件进行编辑。 /*…

css loading制作

css loading制作

CSS Loading动画制作方法 通过CSS可以创建多种加载动画效果,以下是几种常见实现方式: 旋转动画 使用@keyframes创建旋转效果,适合圆形加载指示器: .loader { wi…

css 制作表格

css 制作表格

CSS 制作表格的方法 使用 CSS 制作表格可以通过多种方式实现,包括原生 HTML 表格样式、Flexbox 布局或 Grid 布局。以下是几种常见的方法: 原生 HTML 表格样式 HTML…