当前位置:首页 > CSS

css制作轮播教程

2026-01-28 19:23:49CSS

CSS制作轮播教程

使用纯CSS实现基础轮播

HTML结构

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

CSS动画关键代码

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

.slides {
  display: flex;
  width: 300%;
  animation: slide 10s infinite;
}

.slide {
  width: 100%;
  flex-shrink: 0;
}

@keyframes slide {
  0% { transform: translateX(0); }
  33% { transform: translateX(-100%); }
  66% { transform: translateX(-200%); }
  100% { transform: translateX(0); }
}

添加导航指示点

HTML添加导航

<div class="dots">
  <span class="dot" onclick="currentSlide(1)"></span>
  <span class="dot" onclick="currentSlide(2)"></span>
  <span class="dot" onclick="currentSlide(3)"></span>
</div>

CSS样式

css制作轮播教程

.dots {
  text-align: center;
  margin-top: 10px;
}

.dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  border-radius: 50%;
  background-color: #bbb;
  cursor: pointer;
}

.dot.active {
  background-color: #717171;
}

响应式设计调整

@media (max-width: 600px) {
  .slider {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }

  .slides {
    animation: slide-mobile 15s infinite;
  }
}

@keyframes slide-mobile {
  0% { transform: translateX(0); }
  33% { transform: translateX(-100%); }
  66% { transform: translateX(-200%); }
  100% { transform: translateX(0); }
}

悬停暂停效果

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

过渡效果增强

.slide {
  transition: opacity 0.5s ease;
  opacity: 0.7;
}

.slide:hover {
  opacity: 1;
}

自动高度调整

.slider {
  height: auto;
}

.slide {
  padding-bottom: 56.25%; /* 16:9比例 */
  position: relative;
}

.slide > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

注意事项

  • 确保父容器设置overflow: hidden
  • 动画时间根据内容长度调整
  • 幻灯片数量变化时需要重新计算关键帧百分比
  • 考虑添加JavaScript后备方案增强兼容性

标签: 教程css
分享给朋友:

相关文章

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

用css制作导航条

用css制作导航条

水平导航条制作 使用display: inline-block或flexbox实现水平导航 为<ul>和<li>设置样式消除默认列表样式 添加padding和margin控制间…

css制作钢琴块

css制作钢琴块

使用CSS制作钢琴块 钢琴块可以通过HTML和CSS的配合实现,主要利用flexbox布局和伪元素来模拟钢琴的黑白键排列。 HTML结构 <div class="piano"> &l…

css制作响应网页

css制作响应网页

响应式网页设计基础 使用CSS制作响应式网页的核心是让页面能够根据不同设备的屏幕尺寸自动调整布局和样式。主要通过媒体查询(Media Queries)、弹性布局(Flexbox)和网格布局(Grid)…

css表格制作表格

css表格制作表格

CSS 表格制作方法 基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<td>(单元格)和<th>(表头)标签: &l…

css导航栏制作

css导航栏制作

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