当前位置:首页 > CSS

css制作广告滚动

2026-02-13 08:06:58CSS

CSS 制作广告滚动效果

使用 CSS 可以实现多种广告滚动效果,包括横向滚动、纵向滚动、淡入淡出等。以下是几种常见的实现方法。

横向滚动广告

横向滚动广告通常使用 animation@keyframes 实现。

<div class="ad-container">
  <div class="ad-content">
    <img src="ad1.jpg" alt="广告1">
    <img src="ad2.jpg" alt="广告2">
    <img src="ad3.jpg" alt="广告3">
  </div>
</div>
.ad-container {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.ad-content {
  display: inline-block;
  animation: scroll 10s linear infinite;
}

@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

纵向滚动广告

纵向滚动广告可以通过调整 transform: translateY 实现。

<div class="vertical-ad">
  <ul>
    <li>广告内容 1</li>
    <li>广告内容 2</li>
    <li>广告内容 3</li>
  </ul>
</div>
.vertical-ad {
  height: 100px;
  overflow: hidden;
}

.vertical-ad ul {
  animation: scroll-up 8s linear infinite;
}

@keyframes scroll-up {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}

淡入淡出效果

使用 opacityanimation 实现广告图片的淡入淡出切换。

<div class="fade-ad">
  <img src="ad1.jpg" class="active">
  <img src="ad2.jpg">
  <img src="ad3.jpg">
</div>
.fade-ad {
  position: relative;
  height: 300px;
}

.fade-ad img {
  position: absolute;
  opacity: 0;
  animation: fade 12s infinite;
}

.fade-ad img:nth-child(1) { animation-delay: 0s; }
.fade-ad img:nth-child(2) { animation-delay: 4s; }
.fade-ad img:nth-child(3) { animation-delay: 8s; }

@keyframes fade {
  0%, 30% { opacity: 0; }
  33%, 63% { opacity: 1; }
  66%, 100% { opacity: 0; }
}

使用 CSS 和 JavaScript 结合实现

如果需要更复杂的控制(如暂停、点击事件),可以结合 JavaScript。

css制作广告滚动

<div class="js-ad-container">
  <div class="js-ad-content">
    <img src="ad1.jpg" alt="广告1">
    <img src="ad2.jpg" alt="广告2">
    <img src="ad3.jpg" alt="广告3">
  </div>
</div>
.js-ad-container {
  width: 100%;
  overflow: hidden;
}

.js-ad-content {
  display: flex;
  transition: transform 0.5s ease;
}
const adContent = document.querySelector('.js-ad-content');
let currentIndex = 0;
const ads = document.querySelectorAll('.js-ad-content img');
const adWidth = ads[0].clientWidth;

function scrollAd() {
  currentIndex = (currentIndex + 1) % ads.length;
  adContent.style.transform = `translateX(-${currentIndex * adWidth}px)`;
}

setInterval(scrollAd, 3000);

注意事项

  • 确保广告容器的宽度或高度足够容纳内容,避免截断。
  • 使用 overflow: hidden 隐藏超出部分。
  • 调整 animation-duration 控制滚动速度。
  • 对于响应式设计,使用百分比或 vw/vh 单位确保适配不同屏幕。

以上方法均可根据实际需求调整动画时间、滚动方向和效果。

标签: 广告css
分享给朋友:

相关文章

用css制作表格

用css制作表格

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

css雪碧图制作

css雪碧图制作

CSS雪碧图制作方法 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过减少HTTP请求提升网页性能。以下是制作和使用雪碧图的详细方法: 准备图像素材 收集…

vue广告实现

vue广告实现

Vue 广告实现方法 在 Vue 项目中实现广告功能可以通过多种方式完成,以下是一些常见的方法和最佳实践: 使用第三方广告库 集成如 Google AdSense、Ad Manager 等第三方广告…

淘宝css导航栏制作

淘宝css导航栏制作

淘宝CSS导航栏制作 制作类似淘宝的导航栏需要关注几个关键点:结构清晰、响应式设计、悬停效果以及图标使用。以下是具体实现方法: HTML结构 <div class="nav-container…

css如何制作三角形

css如何制作三角形

使用边框属性制作三角形 通过设置元素的宽度和高度为0,利用边框属性可以创建三角形。边框的交汇处会形成斜边,通过设置不同边的颜色和透明度实现三角形效果。 .triangle { width: 0;…

css制作扇形

css制作扇形

使用 CSS 制作扇形的方法 通过 CSS 的 border-radius 和 transform 属性可以轻松实现扇形效果。以下是几种常见的实现方式: 方法一:使用 border-radius 和…