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


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中的元素过渡属性transition示例详解
Nov 30 HTML / CSS
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
Oct 10 HTML / CSS
CSS3属性box-shadow使用指南
Dec 09 HTML / CSS
CSS中垂直居中的简单实现方法
Jul 06 HTML / CSS
css3实现3D文本悬停改变效果的示例代码
Jan 16 HTML / CSS
CSS3实现菜单悬停效果
Nov 17 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(二)
Jan 21 HTML / CSS
常用的HTML5列表标签
Jun 20 HTML / CSS
HTML5实现可缩放时钟代码
Aug 28 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
Oct 23 HTML / CSS
Html5通过数据流方式播放视频的实现
Apr 27 HTML / CSS
详解盒子端CSS动画性能提升
May 24 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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
SVG描边动画
2017/02/23 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
详解vue的双向绑定原理及实现
2019/05/05 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
python实现五子棋人机对战游戏
2020/03/25 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
构建高效的python requests长连接池详解
2020/05/02 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
高中自我鉴定
2013/12/20 职场文书
《乡愁》教学反思
2014/02/18 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
软件售后服务承诺书
2014/05/21 职场文书
简历自我评价模板
2015/03/11 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
MySQL索引是啥?不懂就问
2021/07/21 MySQL