当前位置:首页 > 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); }
}

自动高度调整

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

.slider {
  height: auto;
}

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

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

css 制作焦点图

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

相关文章

css网页制作教程

css网页制作教程

CSS网页制作教程 CSS(层叠样式表)是用于控制网页外观和布局的核心技术。以下是CSS网页制作的关键步骤和技巧: 基础语法与引入方式 CSS规则由选择器和声明块组成: 选择器 { 属性:…

网页制作 css

网页制作 css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; } 例如设置段落文字颜色为红色: p { color: red;…

css制作下拉导航条

css制作下拉导航条

使用纯CSS制作下拉导航条 HTML结构部分需要包含导航主菜单和子菜单项,通常使用嵌套的无序列表(<ul>和<li>)实现: <nav class="dropdown-…

css 制作目录

css 制作目录

CSS 制作目录的方法 使用 CSS 可以轻松为网页内容创建美观且功能性的目录。以下是几种常见方法: 使用 ul 和 li 创建基础目录结构 <div class="toc">…

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

css雪碧图制作

css雪碧图制作

CSS雪碧图制作方法 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过减少HTTP请求提升网页性能。以下是制作和使用雪碧图的详细方法: 准备图像素材 收集…