当前位置:首页 > CSS

制作css轮播图

2026-03-12 11:56:59CSS

使用纯CSS制作轮播图

轮播图可以通过CSS的animation@keyframes实现自动切换效果。以下是一个基础实现方案:

HTML结构

<div class="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">Slide 1</div>
    <div class="carousel-item">Slide 2</div>
    <div class="carousel-item">Slide 3</div>
  </div>
</div>

CSS样式

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

.carousel-inner {
  display: flex;
  width: 300%; /* 根据幻灯片数量调整 */
  animation: slide 9s infinite;
}

.carousel-item {
  width: 33.333%; /* 100% / 幻灯片数量 */
  padding: 20px;
  text-align: center;
}

@keyframes slide {
  0%, 33% { transform: translateX(0); }
  33.33%, 66% { transform: translateX(-33.333%); }
  66.66%, 100% { transform: translateX(-66.666%); }
}

添加导航指示器

可以通过伪元素或额外HTML元素创建导航点:

HTML添加

<div class="carousel-indicators">
  <span class="indicator active"></span>
  <span class="indicator"></span>
  <span class="indicator"></span>
</div>

CSS样式

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.indicator {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
}

.indicator.active {
  background: white;
  animation: pulse 3s infinite;
}

@keyframes pulse {
  0%, 33% { opacity: 1; }
  33.33%, 100% { opacity: 0.5; }
}

响应式调整

通过媒体查询适应不同屏幕尺寸:

@media (max-width: 768px) {
  .carousel-item {
    padding: 10px;
    font-size: 14px;
  }

  .carousel-indicators {
    bottom: 5px;
  }

  .indicator {
    width: 8px;
    height: 8px;
  }
}

悬停暂停功能

添加鼠标悬停时暂停动画的效果:

制作css轮播图

.carousel:hover .carousel-inner {
  animation-play-state: paused;
}

.carousel:hover .indicator {
  animation-play-state: paused;
}

注意事项

  • 动画时间计算:总动画时间 = 每张幻灯片显示时间 × 幻灯片数量
  • transform百分比值根据幻灯片数量等比例分配
  • 确保@keyframes中的百分比值与幻灯片切换时间匹配
  • 对于更复杂效果,可以考虑使用CSS变量动态控制参数

这种方法无需JavaScript,适合简单展示场景。如需交互功能(如手动切换),建议结合JavaScript实现。

标签: css轮播图
分享给朋友:

相关文章

css div 制作导航菜单

css div 制作导航菜单

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

用css制作表格

用css制作表格

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

css怎么制作表单

css怎么制作表单

基础表单结构 使用HTML创建表单元素,搭配CSS进行样式设计。表单通常包含<form>标签及输入控件(如<input>、<textarea>、<select…

css怎么制作个人主页

css怎么制作个人主页

设计布局结构 使用CSS的Flexbox或Grid布局创建响应式结构。Flexbox适合一维排列(如导航栏),Grid适合二维布局(如整体页面分区)。例如: .container { displ…

css制作网站

css制作网站

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

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…