当前位置:首页 > 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(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; } 例如设置段落文字颜色为红色: p { color: red;…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="horiz…

css简历制作

css简历制作

使用CSS制作简历的基本方法 选择简洁的布局结构,单列或双列布局适合大多数简历。使用display: flex或display: grid实现响应式设计,确保在不同设备上显示良好。 字体选择上,标题…

css 制作报表

css 制作报表

CSS 制作报表的方法 使用 CSS 制作报表主要涉及表格样式的设计、布局优化以及响应式处理。以下是几种常见的方法和技巧: 基础表格样式 通过 CSS 可以增强 HTML 表格的视觉效果,使其更符合…

css制作流程图

css制作流程图

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

风车制作css

风车制作css

风车制作CSS方法 使用CSS创建风车效果可以通过动画和变换属性实现。以下是一个简单的风车旋转动画示例: HTML结构 <div class="windmill"> <…