当前位置:首页 > CSS

css制作弹幕

2026-02-27 08:22:52CSS

CSS制作弹幕效果

弹幕效果可以通过CSS动画和HTML结合实现,以下是一个完整的实现方法:

HTML结构

创建一个包含弹幕内容的容器:

css制作弹幕

<div class="danmu-container">
  <div class="danmu">第一条弹幕</div>
  <div class="danmu">第二条弹幕</div>
  <div class="danmu">第三条弹幕</div>
</div>

CSS样式

设置弹幕的基本样式和动画效果:

.danmu-container {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
  background-color: #000;
}

.danmu {
  position: absolute;
  white-space: nowrap;
  color: #fff;
  font-size: 16px;
  text-shadow: 1px 1px 2px #000;
  animation: danmu-move 10s linear;
}

@keyframes danmu-move {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

随机位置

通过JavaScript为每条弹幕设置不同的垂直位置:

css制作弹幕

document.querySelectorAll('.danmu').forEach(el => {
  const top = Math.random() * 250;
  el.style.top = `${top}px`;
});

高级优化

增加弹幕颜色和速度变化:

.danmu:nth-child(3n) {
  color: #ff0;
}

.danmu:nth-child(3n+1) {
  color: #f0f;
}

.danmu:nth-child(3n+2) {
  animation-duration: 8s;
}

动态添加弹幕

使用JavaScript动态添加新弹幕:

function addDanmu(text) {
  const container = document.querySelector('.danmu-container');
  const danmu = document.createElement('div');
  danmu.className = 'danmu';
  danmu.textContent = text;
  danmu.style.top = `${Math.random() * 250}px`;
  container.appendChild(danmu);

  setTimeout(() => {
    danmu.remove();
  }, 10000);
}

注意事项

  1. 弹幕容器需要设置overflow: hidden防止内容溢出
  2. 使用white-space: nowrap确保文本不换行
  3. 动画时间可以根据需要调整
  4. 动态添加弹幕时注意内存管理,及时移除已完成动画的元素

这种方法创建的弹幕效果可以用于视频网站、直播平台等场景,通过调整CSS和JavaScript参数可以实现各种不同的视觉效果。

标签: 弹幕css
分享给朋友:

相关文章

css表格制作表格

css表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

css 制作按钮

css 制作按钮

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

淘宝css导航栏制作

淘宝css导航栏制作

淘宝CSS导航栏制作方法 使用HTML和CSS可以轻松制作类似淘宝的导航栏。以下是一个常见的实现方式: HTML结构 <div class="nav-container"> &…

css怎么制作段落

css怎么制作段落

段落样式基础设置 使用 p 标签定义段落,通过CSS控制字体、间距等属性: p { font-family: Arial, sans-serif; font-size: 16px;…

css制作流程图

css制作流程图

使用CSS制作流程图的方法 基础布局结构 采用HTML的<div>元素构建流程节点,结合CSS的flexbox或grid布局实现整体排列。节点间用伪元素或独立元素(如<span>…

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {bac…