&l…">
当前位置:首页 > CSS

css制作轮播代码

2026-04-02 11:27:25CSS

基础CSS轮播实现

使用纯CSS实现轮播图需要结合@keyframes动画和overflow: hidden属性。以下是一个基础示例:

<div class="slider">
  <div class="slides">
    <img src="image1.jpg" alt="Slide 1">
    <img src="image2.jpg" alt="Slide 2">
    <img src="image3.jpg" alt="Slide 3">
  </div>
</div>
.slider {
  width: 100%;
  max-width: 800px;
  height: 400px;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}

.slides {
  display: flex;
  width: 300%;
  animation: slide 12s infinite;
}

.slides img {
  width: 33.333%;
  height: 100%;
  object-fit: cover;
}

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

使用CSS变量控制轮播

通过CSS变量可以更灵活地控制轮播效果:

:root {
  --slide-count: 3;
  --slide-width: 100%;
  --animation-duration: 12s;
}

.slider {
  --container-width: var(--slide-width);
  width: var(--container-width);
}

.slides {
  width: calc(var(--slide-count) * 100%);
  animation: slide var(--animation-duration) infinite;
}

@keyframes slide {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-100% / var(--slide-count) * (var(--slide-count) - 1))); }
}

响应式轮播设计

添加媒体查询使轮播适应不同屏幕尺寸:

@media (max-width: 768px) {
  .slider {
    height: 300px;
  }

  :root {
    --animation-duration: 8s;
  }
}

@media (max-width: 480px) {
  .slider {
    height: 200px;
  }
}

添加导航指示器

使用伪元素创建轮播导航点:

.slider::after {
  content: '';
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

.slider::after {
  content: '•••';
  letter-spacing: 10px;
  color: white;
  text-shadow: 0 0 5px rgba(0,0,0,0.5);
  animation: dots calc(var(--animation-duration) / var(--slide-count)) infinite;
}

@keyframes dots {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

悬停暂停效果

添加交互效果使轮播在鼠标悬停时暂停:

.slider:hover .slides {
  animation-play-state: paused;
}

无缝循环优化

改进动画使过渡更平滑:

css制作轮播代码

.slides {
  animation: slide var(--animation-duration) infinite linear;
}

@keyframes slide {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-100% * (var(--slide-count) - 1) / var(--slide-count))); }
}

标签: 代码css
分享给朋友:

相关文章

代码实现vue

代码实现vue

创建Vue项目 使用Vue CLI快速初始化项目,确保已安装Node.js和npm/yarn: npm install -g @vue/cli vue create my-vue-project c…

css页脚制作

css页脚制作

CSS页脚制作方法 固定定位页脚 使用position: fixed将页脚固定在页面底部,适用于需要始终显示的页脚。 footer { position: fixed; bottom: 0;…

css div制作

css div制作

使用CSS制作div元素 在HTML和CSS中,div元素是最常用的容器之一,用于布局和样式设计。以下是一些常见的方法和技巧: 基础div样式 <div class="box">这是一…

css奖状制作

css奖状制作

使用CSS制作奖状 奖状制作可以通过CSS结合HTML实现,适用于网页展示或打印。以下是几种常见的设计方法: 基础奖状结构 HTML框架用于定义奖状内容,CSS负责样式设计。 <div cl…

制作css

制作css

制作CSS的基础方法 CSS(层叠样式表)用于控制网页的样式和布局。以下是创建和使用CSS的基本方法。 内联样式 直接在HTML元素的style属性中编写CSS代码。适用于单个元素的样式调整。…

css制作菜单

css制作菜单

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