<…">
当前位置:首页 > CSS

css3制作轮播图

2026-02-26 22:23:41CSS

CSS3制作轮播图的方法

使用纯CSS3制作轮播图可以通过动画和关键帧实现,无需JavaScript。以下是实现步骤:

HTML结构

<div class="slider">
  <div class="slide slide1"></div>
  <div class="slide slide2"></div>
  <div class="slide slide3"></div>
</div>

CSS样式

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

.slide {
  width: 100%;
  height: 100%;
  position: absolute;
  animation: slide 12s infinite;
  opacity: 0;
}

.slide1 {
  background: red;
  animation-delay: 0s;
}

.slide2 {
  background: green;
  animation-delay: 4s;
}

.slide3 {
  background: blue;
  animation-delay: 8s;
}

@keyframes slide {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  43% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

实现原理

通过CSS3的@keyframes定义动画,控制每张幻灯片的透明度变化。设置不同的animation-delay实现顺序播放效果。

overflow: hidden确保容器外内容不可见,position: absolute让幻灯片重叠在一起。动画时间分配为每个幻灯片显示4秒(33%的12秒总时长)。

响应式调整

为适应不同屏幕尺寸,可以添加媒体查询:

@media (max-width: 768px) {
  .slider {
    width: 100%;
    height: 150px;
  }
}

自动无限循环

通过设置animation-iteration-count: infinite实现无限循环播放。调整@keyframes中的百分比可以改变切换速度和停留时间。

css3制作轮播图

这种方法适合简单的展示需求,如需交互功能(如手动切换)则需要结合JavaScript实现。

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

相关文章

vue实现点击轮播图

vue实现点击轮播图

实现点击轮播图的基本思路 在Vue中实现点击轮播图功能,通常需要结合数据绑定、事件处理和CSS过渡效果。核心逻辑是通过控制当前显示项的索引,实现图片切换。 基础实现步骤 准备轮播数据 在Vue组件的…

vue实现无缝轮播图

vue实现无缝轮播图

实现无缝轮播图的核心思路 无缝轮播图的关键在于处理首尾衔接的过渡效果。当轮播到最后一张时,需要无感知地跳转到第一张,反之亦然。 基础HTML结构 使用Vue的模板部分可以这样构建轮播图的骨架: &…

原生js实现一个轮播图

原生js实现一个轮播图

实现基础结构 HTML部分需要创建一个容器,包含轮播图片列表和导航按钮: <div class="slider-container"> <div class="slider"&…

vue实现点击轮播图

vue实现点击轮播图

实现点击轮播图功能 在Vue中实现点击轮播图功能可以通过多种方式完成。以下是两种常见的方法: 方法一:使用第三方库 安装vue-awesome-swiper库: npm instal…

vue实现无限轮播图

vue实现无限轮播图

实现思路 无限轮播图的核心在于动态调整数据列表,当滑动到边界时无缝切换到另一侧。Vue的响应式特性结合CSS过渡效果可高效实现这一功能。 基础结构 <template> &l…

vue实现顶部轮播图

vue实现顶部轮播图

使用Swiper实现轮播图 安装Swiper库 npm install swiper@6 引入Swiper样式和组件 <template> <div class="b…