当前位置:首页 > CSS

div css轮播制作

2026-03-12 10:38:19CSS

使用纯CSS实现轮播

HTML结构需要包含轮播容器和轮播项,通过CSS的动画和关键帧控制轮播效果。

<div class="slider">
  <div class="slider-items">
    <div class="slider-item">Slide 1</div>
    <div class="slider-item">Slide 2</div>
    <div class="slider-item">Slide 3</div>
  </div>
</div>
.slider {
  width: 100%;
  overflow: hidden;
}
.slider-items {
  display: flex;
  animation: slide 10s infinite;
}
.slider-item {
  flex: 0 0 100%;
}
@keyframes slide {
  0%, 33% { transform: translateX(0); }
  33%, 66% { transform: translateX(-100%); }
  66%, 100% { transform: translateX(-200%); }
}

使用CSS和少量JavaScript增强交互

通过添加导航按钮和指示器,提升轮播的用户体验。

<div class="slider">
  <div class="slider-items">
    <div class="slider-item active">Slide 1</div>
    <div class="slider-item">Slide 2</div>
    <div class="slider-item">Slide 3</div>
  </div>
  <button class="prev">Prev</button>
  <button class="next">Next</button>
  <div class="dots">
    <span class="dot active"></span>
    <span class="dot"></span>
    <span class="dot"></span>
  </div>
</div>
.slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.slider-items {
  display: flex;
  transition: transform 0.5s ease;
}
.slider-item {
  flex: 0 0 100%;
}
.prev, .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.prev { left: 10px; }
.next { right: 10px; }
.dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}
.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
  margin: 0 5px;
  cursor: pointer;
}
.dot.active { background: #333; }
const items = document.querySelectorAll('.slider-item');
const dots = document.querySelectorAll('.dot');
const prevBtn = document.querySelector('.prev');
const nextBtn = document.querySelector('.next');
let currentIndex = 0;

function updateSlider() {
  document.querySelector('.slider-items').style.transform = `translateX(-${currentIndex * 100}%)`;
  items.forEach(item => item.classList.remove('active'));
  dots.forEach(dot => dot.classList.remove('active'));
  items[currentIndex].classList.add('active');
  dots[currentIndex].classList.add('active');
}

prevBtn.addEventListener('click', () => {
  currentIndex = (currentIndex > 0) ? currentIndex - 1 : items.length - 1;
  updateSlider();
});

nextBtn.addEventListener('click', () => {
  currentIndex = (currentIndex < items.length - 1) ? currentIndex + 1 : 0;
  updateSlider();
});

dots.forEach((dot, index) => {
  dot.addEventListener('click', () => {
    currentIndex = index;
    updateSlider();
  });
});

响应式轮播设计

通过媒体查询确保轮播在不同设备上都能正常显示。

@media (max-width: 768px) {
  .slider-item {
    font-size: 14px;
  }
  .prev, .next {
    font-size: 12px;
  }
  .dot {
    width: 8px;
    height: 8px;
  }
}

添加过渡效果

通过CSS过渡属性使轮播切换更加平滑。

div css轮播制作

.slider-items {
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

标签: divcss
分享给朋友:

相关文章

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

用css制作导航条

用css制作导航条

水平导航条制作 使用display: inline-block或flexbox实现水平导航 为<ul>和<li>设置样式消除默认列表样式 添加padding和margin控制间…

css继承制作教程

css继承制作教程

CSS继承的基本概念 CSS继承是指某些CSS属性可以从父元素传递到子元素的特性。并非所有属性都支持继承,但常见的文本相关属性(如font-family、color)默认具有继承性。通过合理利用继承,…

div css制作网页

div css制作网页

使用DIV+CSS制作网页的基本方法 在网页设计中,DIV+CSS是常用的布局方式。DIV作为容器元素,配合CSS样式控制,可以实现灵活、响应式的页面布局。 创建HTML结构 使用DIV划分页面区域…

css 制作按钮

css 制作按钮

基础按钮样式 使用CSS创建一个基础按钮需要定义display、padding、background-color和border等属性。以下是一个简单示例: .button { display:…

css 导航栏制作

css 导航栏制作

CSS 导航栏制作方法 水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { back…