当前位置:首页 > CSS

css 制作焦点图

2026-03-11 23:06:21CSS

使用 CSS 制作焦点图

基础 HTML 结构

焦点图通常由一个容器和多个图片或内容项组成。以下是一个基本的 HTML 结构:

<div class="slideshow-container">
  <div class="slide fade">
    <img src="image1.jpg" style="width:100%">
  </div>
  <div class="slide fade">
    <img src="image2.jpg" style="width:100%">
  </div>
  <div class="slide fade">
    <img src="image3.jpg" style="width:100%">
  </div>
  <a class="prev">❮</a>
  <a class="next">❯</a>
</div>
<div class="dots-container">
  <span class="dot"></span>
  <span class="dot"></span>
  <span class="dot"></span>
</div>

CSS 样式设计

通过 CSS 控制焦点图的显示、过渡效果和导航按钮:

.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}

.slide {
  display: none;
}

.slide img {
  width: 100%;
  vertical-align: middle;
}

.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  background-color: rgba(0,0,0,0.3);
}

.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

.dots-container {
  text-align: center;
  margin-top: 16px;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

JavaScript 控制逻辑

使用 JavaScript 实现自动轮播和手动导航功能:

let slideIndex = 0;
showSlides();

function showSlides() {
  let slides = document.getElementsByClassName("slide");
  let dots = document.getElementsByClassName("dot");

  for (let i = 0; i < slides.length; i++) {
    slides[i].style.display = "none";  
  }

  slideIndex++;
  if (slideIndex > slides.length) {slideIndex = 1}    

  for (let i = 0; i < dots.length; i++) {
    dots[i].className = dots[i].className.replace(" active", "");
  }

  slides[slideIndex-1].style.display = "block";  
  dots[slideIndex-1].className += " active";
  setTimeout(showSlides, 3000); // 3秒切换一次
}

// 手动导航函数
function plusSlides(n) {
  slideIndex += n;
  if (slideIndex > slides.length) {slideIndex = 1}
  if (slideIndex < 1) {slideIndex = slides.length}
  showSlides();
}

function currentSlide(n) {
  slideIndex = n;
  showSlides();
}

响应式设计技巧

添加媒体查询确保在不同设备上正常显示:

@media only screen and (max-width: 600px) {
  .prev, .next {
    font-size: 12px;
    padding: 8px;
  }

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

高级效果扩展

可以通过以下方式增强焦点图效果:

css 制作焦点图

  • 添加 CSS 过渡效果替代简单的淡入淡出
  • 实现 3D 翻转或滑动动画
  • 集成触摸事件支持移动设备滑动操作
  • 添加懒加载优化性能

注意:以上代码需要根据实际项目需求调整图片路径、尺寸和切换时间间隔等参数。

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

相关文章

css制作菜单

css制作菜单

水平菜单制作 使用display: inline-block或flexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加padding和margin调整间距。 <…

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

css网页制作教程下载

css网页制作教程下载

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

css制作扇形图

css制作扇形图

使用CSS制作扇形图 方法一:使用clip-path和transform 通过CSS的clip-path和transform属性可以快速实现扇形效果。定义一个圆形元素,然后裁剪出扇形部分。 .fan…

css制作锁屏页面

css制作锁屏页面

使用CSS制作锁屏页面 锁屏页面通常包含一个背景、时间显示以及可能的解锁按钮或输入框。以下是实现锁屏页面的关键CSS代码和结构。 HTML结构 <!DOCTYPE html> <h…

css怎么制作评论框

css怎么制作评论框

制作评论框的CSS方法 评论框通常包含输入区域、提交按钮和样式设计。以下是实现评论框的CSS代码示例和设计要点。 HTML结构 <div class="comment-box">…