当前位置:首页 > CSS

css弹幕制作

2026-01-28 01:51:39CSS

CSS弹幕制作方法

弹幕效果可以通过CSS动画和HTML结合实现,以下是一种常见的实现方式:

HTML结构

创建包含弹幕消息的容器和弹幕元素:

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

CSS样式

设置弹幕容器和动画效果:

css弹幕制作

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

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

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

动态添加弹幕

使用JavaScript动态添加弹幕元素:

function addDanmu(text) {
  const container = document.querySelector('.danmu-container');
  const danmu = document.createElement('div');
  danmu.className = 'danmu';
  danmu.textContent = text;

  // 随机设置垂直位置
  const top = Math.random() * (container.clientHeight - 20);
  danmu.style.top = `${top}px`;

  // 随机设置颜色
  const color = `hsl(${Math.random() * 360}, 100%, 70%)`;
  danmu.style.color = color;

  // 随机设置动画持续时间
  const duration = 8 + Math.random() * 5;
  danmu.style.animationDuration = `${duration}s`;

  container.appendChild(danmu);

  // 动画结束后移除元素
  danmu.addEventListener('animationend', function() {
    container.removeChild(danmu);
  });
}

弹幕样式优化

可以添加更多样式效果增强弹幕表现:

css弹幕制作

.danmu {
  /* 基础样式 */
  padding: 2px 8px;
  border-radius: 12px;
  background-color: rgba(0, 0, 0, 0.5);

  /* 描边效果 */
  text-shadow: 
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000;
}

弹幕碰撞检测

实现更高级的弹幕系统可以添加碰撞检测:

function isColliding(el1, el2) {
  const rect1 = el1.getBoundingClientRect();
  const rect2 = el2.getBoundingClientRect();
  return !(
    rect1.right < rect2.left || 
    rect1.left > rect2.right || 
    rect1.bottom < rect2.top || 
    rect1.top > rect2.bottom
  );
}

响应式调整

确保弹幕在不同屏幕尺寸下正常显示:

@media (max-width: 768px) {
  .danmu {
    font-size: 14px;
  }
}

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

相关文章

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table&…

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的::before和::after伪元素结合border属性可以创建简单的几何形状图标。例如制作一个三角形: .triangle { w…

css表单制作

css表单制作

基础表单结构 使用HTML创建表单的基本结构,包含<form>标签及输入字段。表单通常需要action(提交地址)和method(提交方法)属性。 <form action="/s…

css页脚制作

css页脚制作

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

如何制作css

如何制作css

创建CSS文件 新建一个纯文本文件,将文件扩展名改为.css,例如style.css。确保文件名不含空格或特殊字符,使用连字符或下划线分隔单词。 编写CSS语法 CSS规则由选择器和声明块组成。选择…

css制作彩虹

css制作彩虹

使用线性渐变创建彩虹效果 通过CSS的linear-gradient属性可以轻松实现彩虹效果。以下是一个基础的彩虹样式代码: .rainbow { width: 100%; height:…