&…">
当前位置:首页 > 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结构

<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暂停动画

在方法一基础上添加:

.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. 指示器样式
    美化导航点:

    css 制作焦点图

    .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表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,CSS用于控制样式。以下是一个基础示例: <table class="styled-table">…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…

vue 实现获取焦点

vue 实现获取焦点

实现获取焦点的方法 在Vue中实现获取焦点可以通过以下几种方式完成: 使用ref和$refs 通过ref属性标记DOM元素,然后在Vue实例中通过$refs访问该元素并调用focus方法。 <…

淘宝导航css制作

淘宝导航css制作

淘宝导航 CSS 制作方法 淘宝导航栏通常包含多个层级菜单、下拉框和响应式设计。以下是实现类似效果的 CSS 制作方法: 基础结构 导航栏通常使用 <nav> 或 <div>…

用css制作导航条

用css制作导航条

基础导航条结构 HTML结构使用无序列表<ul>和列表项<li>,这是语义化的标准做法: <nav> <ul class="navbar">…

表格制作css

表格制作css

CSS表格样式设计 基础表格样式 通过border-collapse合并边框,使表格更整洁。width控制整体宽度,text-align设置文字对齐方式。 table { border-coll…