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

css 制作焦点图

2026-01-28 15:58:51CSS

使用纯CSS制作焦点图

通过CSS的动画和过渡效果可以实现简单的焦点图轮播,无需JavaScript。以下是一个基础实现方案:

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: 100%;
  overflow: hidden;
  position: relative;
}

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

.slide {
  width: 33.33%; /* 100% / 幻灯片数量 */
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: white;
}

.slide:nth-child(1) { background: #ff5252; }
.slide:nth-child(2) { background: #4caf50; }
.slide:nth-child(3) { background: #2196f3; }

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

添加导航指示器

为焦点图添加可视化的导航点指示当前幻灯片位置:

HTML新增:

<div class="dots">
  <span class="dot"></span>
  <span class="dot"></span>
  <span class="dot"></span>
</div>

CSS新增:

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

.dot {
  width: 12px;
  height: 12px;
  margin: 0 5px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  animation: dotAnimation 10s infinite;
}

.dot:nth-child(1) { animation-delay: 0s; }
.dot:nth-child(2) { animation-delay: -6.66s; }
.dot:nth-child(3) { animation-delay: -3.33s; }

@keyframes dotAnimation {
  0%, 33.33% { background: white; }
  33.34%, 100% { background: rgba(255,255,255,0.5); }
}

响应式设计调整

确保焦点图在不同屏幕尺寸下正常显示:

@media (max-width: 768px) {
  .slide {
    height: 200px;
    font-size: 1.5rem;
  }

  .dots {
    bottom: 10px;
  }

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

悬停暂停功能

添加鼠标悬停时暂停轮播的交互效果:

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

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

过渡效果优化

使用更平滑的过渡效果替代默认的线性动画:

.slides {
  animation: slide 10s infinite ease-in-out;
}

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

自动高度调整

根据内容动态调整焦点图高度:

css 制作焦点图

.slider {
  height: auto;
}

.slide {
  height: auto;
  min-height: 300px;
  padding: 2rem;
}

这种方法创建的焦点图完全依赖CSS动画,适合简单展示需求。如需更复杂的交互(如手动切换、触摸滑动等),建议结合JavaScript实现。

标签: 焦点css
分享给朋友:

相关文章

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

dw制作css

dw制作css

使用DW(Dreamweaver)制作CSS的步骤 在Adobe Dreamweaver中创建和编辑CSS文件可以通过可视化界面或直接编写代码完成。以下是具体操作方法: 新建CSS文件 打开Drea…

css 制作报表

css 制作报表

CSS 制作报表的方法 使用 CSS 制作报表主要涉及表格样式的设计、布局优化以及响应式处理。以下是几种常见的方法和技巧: 基础表格样式 通过 CSS 可以增强 HTML 表格的视觉效果,使其更符合…

css制作半圆

css制作半圆

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

css如何制作未读图标

css如何制作未读图标

未读图标实现方法 通过CSS可以创建多种未读图标的样式,以下是几种常见的实现方式: 使用伪元素创建小红点 .unread-badge { position: relative; disp…

css制作圆弧

css制作圆弧

CSS 制作圆弧的方法 使用 border-radius 属性 通过 border-radius 可以轻松创建圆弧效果。该属性控制元素的圆角大小,值越大圆弧越明显。例如: .arc { widt…