当前位置:首页 > CSS

css制作弹幕

2026-01-28 05:20:35CSS

使用CSS制作弹幕效果

弹幕效果可以通过CSS动画和HTML结合实现,核心是利用@keyframes控制元素从右向左移动。以下是一个基础实现方案:

<div class="danmu-container">
  <div class="danmu">这是一条弹幕</div>
</div>
.danmu-container {
  position: relative;
  width: 100%;
  height: 100px;
  overflow: hidden;
  background: #000;
}

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

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

多轨道弹幕实现

通过设置不同动画延迟和轨道位置,可实现多条弹幕不重叠:

.danmu:nth-child(1) { top: 20%; animation-delay: 0s; }
.danmu:nth-child(2) { top: 40%; animation-delay: 2s; }
.danmu:nth-child(3) { top: 60%; animation-delay: 4s; }

随机弹幕样式增强

使用CSS变量和随机函数增强视觉效果:

.danmu {
  --hue: calc(var(--rand) * 360);
  color: hsl(var(--hue), 100%, 70%);
  text-shadow: 0 0 5px currentColor;
  animation-duration: calc(8s + var(--rand) * 4s);
}

/* 通过JavaScript动态设置--rand变量 */

性能优化建议

使用will-change属性提升动画性能:

.danmu {
  will-change: transform;
}

考虑使用transform代替left属性进行位移,后者会触发重排:

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

高级弹幕特性

实现碰撞检测需要JavaScript配合,但纯CSS可通过以下方式模拟:

.danmu {
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

通过媒体查询调整移动速度:

css制作弹幕

@media (max-width: 768px) {
  @keyframes move {
    from { transform: translateX(100%); }
    to { transform: translateX(-100%); }
  }
}

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

相关文章

css焦点图制作

css焦点图制作

使用纯CSS制作焦点图 通过CSS的动画和过渡效果实现简单焦点图轮播,无需JavaScript。以下是一个基础实现方案: <div class="slider"> <div c…

怎么制作css文档

怎么制作css文档

创建CSS文档的基本步骤 新建一个纯文本文件,将文件后缀名改为.css,例如styles.css。使用代码编辑器(如VS Code、Sublime Text等)打开文件,开始编写CSS规则。 编写C…

css背景图片制作

css背景图片制作

使用CSS设置背景图片 在CSS中,可以通过background-image属性为元素添加背景图片。以下是一个基本示例: .element { background-image: url('pa…

css制作goole

css制作goole

使用CSS制作Google标志 Google标志由多彩的字母和简洁的字体组成,可以通过CSS的字体属性、颜色渐变和布局来实现。 字体选择 Google标志使用自定义字体"Product Sans",…

css制作靶子

css制作靶子

CSS 制作靶子 使用 CSS 可以轻松创建一个靶子效果,主要通过嵌套的圆形元素和背景色实现。以下是实现方法: HTML 结构 <div class="target"> <d…

div css制作导航

div css制作导航

导航栏的基本结构 使用HTML的<nav>标签包裹导航链接,内部通常采用无序列表<ul>和列表项<li>结构。示例代码如下: <nav> <…