当前位置:首页 > CSS

制作css轮播图

2026-04-02 07:49:18CSS

CSS轮播图制作方法

纯CSS实现基础轮播

使用CSS动画和关键帧实现自动轮播效果。HTML结构需包含一个容器和多个轮播项。

<div class="carousel">
  <div class="carousel-item">1</div>
  <div class="carousel-item">2</div>
  <div class="carousel-item">3</div>
</div>
.carousel {
  width: 300px;
  height: 200px;
  overflow: hidden;
  position: relative;
}

.carousel-item {
  width: 100%;
  height: 100%;
  position: absolute;
  animation: rotate 9s infinite;
  opacity: 0;
}

.carousel-item:nth-child(1) { animation-delay: 0s; }
.carousel-item:nth-child(2) { animation-delay: 3s; }
.carousel-item:nth-child(3) { animation-delay: 6s; }

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

交互式轮播实现

通过复选框或单选框实现用户控制的轮播效果。需为每个轮播项添加对应的输入控件。

制作css轮播图

<div class="carousel">
  <input type="radio" name="slides" id="slide1" checked>
  <input type="radio" name="slides" id="slide2">
  <input type="radio" name="slides" id="slide3">

  <div class="slides">
    <div class="slide">1</div>
    <div class="slide">2</div>
    <div class="slide">3</div>
  </div>

  <div class="controls">
    <label for="slide1"></label>
    <label for="slide2"></label>
    <label for="slide3"></label>
  </div>
</div>
.carousel {
  position: relative;
  width: 300px;
  height: 200px;
  overflow: hidden;
}

.slides {
  display: flex;
  width: 300%;
  transition: transform 0.5s;
}

#slide1:checked ~ .slides { transform: translateX(0); }
#slide2:checked ~ .slides { transform: translateX(-33.33%); }
#slide3:checked ~ .slides { transform: translateX(-66.66%); }

响应式设计适配

使用视窗单位和媒体查询确保轮播在不同设备上正常显示。

制作css轮播图

.carousel {
  width: 90vw;
  max-width: 600px;
  height: 56.25vw;
  max-height: 400px;
}

@media (min-width: 768px) {
  .carousel {
    height: 50vh;
  }
}

性能优化技巧

避免使用可能引起重排的属性,优化动画性能。

.carousel-item {
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

@keyframes rotate {
  0%, 33% { 
    opacity: 1;
    transform: translateZ(0);
  }
  33.33%, 100% { 
    opacity: 0;
    transform: translateZ(-100px);
  }
}

无障碍访问增强

添加ARIA属性和键盘导航支持,提升可访问性。

<div class="carousel" role="region" aria-label="Image carousel">
  <div class="carousel-item" aria-hidden="false">...</div>
</div>
.carousel-item:focus {
  outline: 2px solid #0066cc;
}

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

相关文章

css div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="n…

css 制作三角形

css 制作三角形

使用 CSS 制作三角形的方法 边框法(Border Method) 通过设置元素的宽高为0,并利用边框的透明属性来创建三角形。这是最常见且兼容性最好的方法。 向上三角形 .triangle-…

css精灵图制作

css精灵图制作

CSS 精灵图制作方法 准备工具 图像编辑软件(如 Photoshop、GIMP 或在线工具) CSS 代码编辑器 步骤 收集图像资源 将需要合并的小图标或图片整理到一个文件夹中,确保这些图片尺寸…

css页脚制作

css页脚制作

CSS页脚制作方法 固定定位页脚 使用position: fixed将页脚固定在页面底部,适用于需要始终显示的页脚。 footer { position: fixed; bottom: 0;…

css制作半圆

css制作半圆

使用 border-radius 制作半圆 通过设置 border-radius 属性,可以将矩形的边角弯曲成圆弧形状。制作半圆的关键是将宽度和高度设置为 2:1 的比例,并只对两个角应用圆角。 .…

css制作搜索框

css制作搜索框

制作搜索框的基本结构 使用HTML创建一个简单的搜索框结构,包含输入框和搜索按钮: <div class="search-box"> <input type="text" pl…