当前位置:首页 > 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样式

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

.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);
  });
}

弹幕样式优化

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

.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
  );
}

响应式调整

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

css弹幕制作

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

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

相关文章

css样式制作

css样式制作

CSS 样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过选择器和属性组合,可以精确调整元素的布局、颜色、字体等样式。 选择器类型 元素选择器:p { color: red; } 选中…

css文件怎么制作

css文件怎么制作

创建CSS文件的基本步骤 CSS文件用于定义网页的样式,可以与HTML文件分离,便于管理和维护。以下是创建CSS文件的方法: 新建文本文件 使用任意文本编辑器(如Notepad++、VS Code、…

css雪碧图制作

css雪碧图制作

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

css制作网页

css制作网页

CSS 网页设计基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键方法和示例: 基础结构 HTML 文件需链接 CSS: <link rel="styles…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox实现水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { backgroun…

css样式制作

css样式制作

CSS样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过CSS可以定义字体、颜色、布局等样式。 选择器与属性 /* 标签选择器 */ p { color: blue; font…