前端开发社区前端开发社区
  • 首页
  • VUE.js
  • React.js
  • HTML
  • CSS
  • JavaScript
  • PHP
  • jquery
  • Java
  • MySQL
  • uniapp
前端开发社区
当前位置:首页 > CSS

css轮转图制作

2026-04-01 19:20:14CSS

CSS轮播图制作方法

HTML结构 创建一个基本的轮播图容器,包含图片和导航按钮:

<div class="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img src="image1.jpg" alt="Image 1">
    </div>
    <div class="carousel-item">
      <img src="image2.jpg" alt="Image 2">
    </div>
    <div class="carousel-item">
      <img src="image3.jpg" alt="Image 3">
    </div>
  </div>
  <button class="carousel-control prev">❮</button>
  <button class="carousel-control next">❯</button>
</div>

CSS样式 设置轮播图的基本样式和动画效果:

css轮转图制作

.carousel {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: auto;
  overflow: hidden;
}

.carousel-inner {
  display: flex;
  transition: transform 0.5s ease;
}

.carousel-item {
  min-width: 100%;
}

.carousel-item img {
  width: 100%;
  display: block;
}

.carousel-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 1;
}

.carousel-control.prev {
  left: 10px;
}

.carousel-control.next {
  right: 10px;
}

JavaScript交互 添加轮播功能:

document.addEventListener('DOMContentLoaded', function() {
  const carousel = document.querySelector('.carousel');
  const inner = document.querySelector('.carousel-inner');
  const items = document.querySelectorAll('.carousel-item');
  const prevBtn = document.querySelector('.carousel-control.prev');
  const nextBtn = document.querySelector('.carousel-control.next');

  let currentIndex = 0;
  const itemWidth = items[0].clientWidth;

  function updateCarousel() {
    inner.style.transform = `translateX(-${currentIndex * itemWidth}px)`;
  }

  nextBtn.addEventListener('click', () => {
    currentIndex = (currentIndex + 1) % items.length;
    updateCarousel();
  });

  prevBtn.addEventListener('click', () => {
    currentIndex = (currentIndex - 1 + items.length) % items.length;
    updateCarousel();
  });

  // 自动轮播
  setInterval(() => {
    currentIndex = (currentIndex + 1) % items.length;
    updateCarousel();
  }, 3000);
});

响应式设计调整

确保轮播图在不同设备上正常显示:

css轮转图制作

@media (max-width: 768px) {
  .carousel {
    max-width: 90%;
  }

  .carousel-control {
    padding: 5px;
    font-size: 12px;
  }
}

添加指示器

在轮播图底部添加导航点:

<div class="carousel-indicators">
  <span class="indicator active" data-index="0"></span>
  <span class="indicator" data-index="1"></span>
  <span class="indicator" data-index="2"></span>
</div>
.carousel-indicators {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ccc;
  margin: 0 5px;
  cursor: pointer;
}

.indicator.active {
  background: #333;
}
const indicators = document.querySelectorAll('.indicator');

indicators.forEach(indicator => {
  indicator.addEventListener('click', () => {
    currentIndex = parseInt(indicator.dataset.index);
    updateCarousel();
    updateIndicators();
  });
});

function updateIndicators() {
  indicators.forEach((indicator, index) => {
    indicator.classList.toggle('active', index === currentIndex);
  });
}

动画效果增强

添加淡入淡出效果:

.carousel-item {
  opacity: 0;
  transition: opacity 0.5s ease;
  position: absolute;
  width: 100%;
}

.carousel-item.active {
  opacity: 1;
  position: relative;
}
function updateCarousel() {
  document.querySelector('.carousel-item.active').classList.remove('active');
  items[currentIndex].classList.add('active');
}

标签: css
分享给朋友:

相关文章

css sprites制作

css sprites制作

什么是CSS Sprites CSS Sprites是一种将多个小图片合并成一张大图的技术,通过background-position属性来显示需要的部分。这种技术可以减少HTTP请求次数,提升页面加…

css精灵图制作

css精灵图制作

CSS 精灵图制作方法 准备工具 图像编辑软件(如 Photoshop、GIMP 或在线工具) CSS 代码编辑器 步骤 收集图像资源 将需要合并的小图标或图片整理到一个文件夹中,确保这些图片尺寸…

css制作三行三列表格

css制作三行三列表格

使用HTML和CSS创建三行三列表格 通过HTML的<table>标签结合CSS样式可以轻松实现三行三列的表格结构。 <table class="three-by-three"&g…

css制作goole

css制作goole

使用CSS制作Google标志 Google标志由多彩的字母和简洁的字体组成,可以通过CSS的字体属性、颜色渐变和布局来实现。 字体选择 Google标志使用自定义字体"Product Sans",…

css制作网站

css制作网站

基础结构与样式设置 HTML文件需包含基本结构,CSS通过<style>标签内嵌或外链.css文件引入。全局样式重置常用* { margin: 0; padding: 0; }清除默认间距…

css导航制作

css导航制作

水平导航栏制作 使用无序列表 <ul> 和 <li> 标签构建基础结构,通过 CSS 移除默认样式并设置横向排列: <ul class="horizontal-nav"…

最新文章
  • css制作下拉选

    2026-04-01 20:52:34

  • css中动画制作

    2026-04-01 20:50:44

  • css怎么制作链接

    2026-04-01 20:47:48

  • css制作网页框架

    2026-04-01 20:46:28

  • css如何制作网页

    2026-04-01 20:44:36

标签列表
  • vue (13931)
  • 原理 (626)
  • 分页 (603)
  • 跳转 (582)
  • 页面 (1094)
  • 路由 (650)
  • 列表 (473)
  • 功能 (1256)
  • 文件 (456)
  • 项目 (532)
  • 菜单 (444)
  • 组件 (1026)
  • 表格 (673)
  • 数据 (497)
  • 图片 (790)
  • js (4916)
  • 如何实现 (1693)
  • 效果 (625)
  • react (3311)
  • jquery (2238)
  • css (2728)
  • php (4572)
  • java (3021)
  • uniapp (1363)
  • elementui (828)

陕ICP备2023000799号  网站地图

Powered By Z-BlogPHP. Theme by TOYEAN.