当前位置:首页 > CSS

纯css制作幻灯片

2026-02-12 13:53:14CSS

纯CSS制作幻灯片的方法

使用纯CSS制作幻灯片可以通过CSS动画和关键帧实现自动轮播效果。以下是几种常见的方法:

方法一:使用CSS动画和关键帧

通过@keyframes定义动画,结合animation属性实现自动轮播。

<div class="slider">
  <div class="slide slide1"></div>
  <div class="slide slide2"></div>
  <div class="slide slide3"></div>
</div>
.slider {
  width: 100%;
  height: 300px;
  position: relative;
  overflow: hidden;
}

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

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

.slide2 {
  background: #4ecdc4;
  animation-delay: 3s;
}

.slide3 {
  background: #45aaf2;
  animation-delay: 6s;
}

@keyframes slide {
  0% { opacity: 0; }
  10% { opacity: 1; }
  30% { opacity: 1; }
  40% { opacity: 0; }
  100% { opacity: 0; }
}

方法二:使用:target伪类实现手动切换

通过锚点链接和:target伪类实现手动切换幻灯片效果。

<div class="slider">
  <div id="slide1" class="slide"></div>
  <div id="slide2" class="slide"></div>
  <div id="slide3" class="slide"></div>
</div>
<div class="controls">
  <a href="#slide1">1</a>
  <a href="#slide2">2</a>
  <a href="#slide3">3</a>
</div>
.slider {
  width: 100%;
  height: 300px;
  position: relative;
  overflow: hidden;
}

.slide {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s;
}

.slide:target {
  opacity: 1;
}

#slide1 { background: #ff6b6b; }
#slide2 { background: #4ecdc4; }
#slide3 { background: #45aaf2; }

方法三:使用复选框和:checked伪类

通过隐藏的复选框和label标签实现幻灯片切换。

纯css制作幻灯片

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

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

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

input[type="radio"] {
  display: none;
}

.slides {
  width: 300%;
  height: 100%;
  display: flex;
  transition: transform 1s;
}

.slide {
  width: 33.333%;
  height: 100%;
}

#slide1:checked ~ .slides {
  transform: translateX(0);
}

#slide2:checked ~ .slides {
  transform: translateX(-33.333%);
}

#slide3:checked ~ .slides {
  transform: translateX(-66.666%);
}

.slide1 { background: #ff6b6b; }
.slide2 { background: #4ecdc4; }
.slide3 { background: #45aaf2; }

.controls {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
}

.controls label {
  width: 12px;
  height: 12px;
  margin: 0 5px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

注意事项

  • 纯CSS幻灯片功能较为基础,无法实现复杂的交互效果。
  • 自动轮播的时间通过animation-delay@keyframes控制,调整时间需同步修改。
  • 手动切换方案依赖用户操作,适合简单的展示场景。
  • 对于更复杂的需求,建议结合JavaScript实现。

标签: 幻灯片css
分享给朋友:

相关文章

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0;…

css制作炫酷按钮

css制作炫酷按钮

渐变背景按钮 使用CSS的linear-gradient属性创建渐变背景效果,结合阴影和过渡动画增强视觉冲击力。按钮悬停时通过改变渐变角度或颜色实现动态效果。 .gradient-btn { b…

css的制作

css的制作

CSS 的基本概念 CSS(层叠样式表)用于控制网页的样式和布局。通过 CSS 可以定义字体、颜色、间距、背景等视觉效果,使 HTML 结构更美观。 CSS 的引入方式 内联样式:直接在 HTML…

css样式制作

css样式制作

CSS样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过CSS可以定义字体、颜色、布局等样式。 选择器与属性 /* 标签选择器 */ p { color: blue; font…

css制作箭头

css制作箭头

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

css导航条制作

css导航条制作

水平导航条制作 使用display: inline-block或flexbox布局创建水平导航条。设置背景色、内边距和悬停效果增强交互性。 <nav> <ul class="h…