当前位置:首页 > 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的线性渐变和伪元素可以创建水平或垂直标尺。以下是一个水平标尺的示例代码: .ruler { width: 100%; he…

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

css表头制作

css表头制作

CSS 表头制作方法 固定表头(滚动时保持可见) 使用 position: sticky 属性可以创建滚动时固定的表头。确保父容器有明确的高度和 overflow 属性。 .table-conta…

css制作网站

css制作网站

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

css菜单制作

css菜单制作

CSS 菜单制作方法 水平导航菜单 使用 display: inline-block 或 flexbox 可以轻松创建水平导航菜单。以下是一个基本示例: <nav> <ul c…

css 制作三角形

css 制作三角形

使用边框制作三角形 通过设置元素的边框属性,利用边框交汇处的斜切特性生成三角形。将元素的宽高设为0,通过调整不同方向边框的宽度和颜色实现。 .triangle { width: 0; hei…