简单实现一个手持弹幕功能+文字抖动特效


Posted in HTML / CSS onMarch 31, 2021

前段时间抖音上有个抖动弹幕挺火的,于是决定仿写一个,话不多说,先看效果…


效果展示

简单实现一个手持弹幕功能+文字抖动特效

GIF图看着有点模糊,但实际效果还是不错的。


第一眼看上去也不知道该咋做,那就先把要实现的功能拆解一下吧。

  1. 生成一个铺满全屏的黑色背景,写上文字,然后内容居中
  2. 实现无缝滚动
  3. 实现文字抖动特效
  4. 旋转90度(默认横屏展示)

代码如下

.html

<div class="barrage-box">
      <div class="text">抖动字幕</div>
  </div>

.css

.barrage-box {
       width: 100vh;
       height: 100vw;
       transform-origin: 50vw 50vw;
       transform: rotate(90deg);
       white-space: nowrap;
       display: flex;
       justify-content: center;
       align-items: center;
       background-color: #000;
       overflow: hidden;
       animation: aniShake 0.5s linear infinite;
   }

   .text {
       width: 100%;
       font-size: 50px;
       color: #FFF;
       animation: aniMove 5s linear infinite;
       animation-fill-mode: forwards;
   }

   /* 文字滚动 */
   @keyframes aniMove {
       0% { transform: translateX(100%); }
       100% { transform: translateX(-100%); }
   }
   
   /* 抖动字幕效果 */
   @keyframes aniShake {
       0%, 33% { text-shadow: 3px -3px 0px #FE008E, -5px 5px 0px #00FFFF; }
       34%, 66% { text-shadow: 5px -5px 0px #FE008E, -3px 3px 0px #00FFFF; }
       67%, 100% { text-shadow: 3px -3px 0px #00FFFF, -5px 5px 0px #FE008E; }
   }

至此,一个包含抖动和滚动特效的手持弹幕功能就实现了。

功能并不复杂,开始我是想着用canvas画出来,但是在小程序里canvas这样的原生组件层级比较高,要是想切换特效写个修改配置的弹窗啥的,不太好弄。

HTML / CSS 相关文章推荐
css3实现信纸/同学录效果的示例代码
Dec 11 HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
Feb 10 HTML / CSS
HTML5时代CSS设置漂亮字体取代图片
Sep 04 HTML / CSS
CSS3中线性颜色渐变的一些实现方法
Jul 14 HTML / CSS
css3实现六边形边框的实例代码
May 24 HTML / CSS
详解Canvas事件绑定
Jun 27 HTML / CSS
免费获得微软MCSD证书赶快行动吧!
Nov 13 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
Nov 18 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
Apr 26 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
Jan 18 HTML / CSS
div或img图片高度随宽度自适应的方法
Feb 06 HTML / CSS
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
Aug 07 HTML / CSS
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
Mar 31 #HTML / CSS
Web前端:CSS最强总结 附详细代码
血轮眼轮回眼特效 html+css
css3 filter属性的使用简介
Mar 31 #HTML / CSS
使用canvas实现雪花飘动效果的示例代码
利用html+css实现菜单栏缓慢下拉效果的示例代码
CSS实现多个元素在盒子内两端对齐效果
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
使用PHP 5.0创建图形的巧妙方法
2010/10/12 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
js实现右键菜单功能
2016/11/28 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
Vue 实现双向绑定的四种方法
2018/03/16 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
python BeautifulSoup使用方法详解
2013/11/21 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
铣床操作工岗位职责
2014/06/13 职场文书
计算机求职信
2014/07/02 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
公司承诺书格式范文
2015/04/28 职场文书
大学生团日活动总结
2015/05/06 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android
MySQL如何使备份得数据保持一致
2022/05/02 MySQL