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

css 制作焦点图

2026-02-13 10:18:26CSS

使用CSS制作焦点图

焦点图(轮播图)是网页常见的交互元素,以下是纯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: 100%;
  overflow: hidden;
  position: relative;
}

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

.slide {
  width: 33.33%;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

@keyframes slide {
  0%, 30% { transform: translateX(0); }
  33%, 63% { transform: translateX(-33.33%); }
  66%, 96% { transform: translateX(-66.66%); }
}

方法二:使用input单选按钮控制

HTML结构

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">Slide 1</div>
    <div class="slide">Slide 2</div>
    <div class="slide">Slide 3</div>
  </div>

  <div class="controls">
    <label for="slide1"></label>
    <label for="slide2"></label>
    <label for="slide3"></label>
  </div>
</div>

CSS样式

.slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

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

.slide {
  width: 33.33%;
  height: 300px;
}

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

.controls label {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #ccc;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}

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

方法三:hover暂停动画

在方法一基础上添加:

css 制作焦点图

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

增强建议

  1. 响应式设计
    使用百分比宽度和@media查询适配不同屏幕尺寸:

    .slide {
      width: 100%;
    }
    @media (min-width: 768px) {
      .slide { width: 50%; }
    }
  2. 过渡效果
    为切换添加缓动效果:

    .slides {
      transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }
  3. 指示器样式
    美化导航点:

    .controls label {
      width: 12px;
      height: 12px;
      background: rgba(255,255,255,0.5);
      transition: background 0.3s;
    }
    .controls label:hover {
      background: white;
    }

注意:纯CSS方案适合简单场景,复杂交互建议结合JavaScript实现。

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

相关文章

css字体制作

css字体制作

CSS字体设置基础 在CSS中设置字体主要通过font-family属性实现,可以指定多个字体作为备选。系统会优先使用第一个可用字体。 body { font-family: "Helveti…

css div 制作导航菜单

css div 制作导航菜单

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

css网页制作教程下载

css网页制作教程下载

CSS网页制作教程下载资源推荐 免费在线教程平台 W3Schools(www.w3schools.com/css/)提供交互式CSS教程,涵盖基础到高级内容,支持在线练习。 MDN Web Docs(…

css制作彩虹

css制作彩虹

使用线性渐变创建彩虹效果 通过CSS的linear-gradient属性可以轻松实现彩虹效果。以下是一个基础的彩虹样式代码: .rainbow { width: 100%; height:…

css制作半圆

css制作半圆

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

css制作响应网页

css制作响应网页

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