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


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中matrix函数的使用
Jun 06 HTML / CSS
CSS3模拟IOS滑动开关效果
Sep 28 HTML / CSS
css3实现可拖动的魔方3d效果
May 07 HTML / CSS
CSS3 实现的缩略图悬停效果
Dec 09 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
Mar 10 HTML / CSS
传统HTML页面实现模块化加载的方法
Oct 15 HTML / CSS
Html5新特性用canvas标签画多条直线附效果截图
Jun 30 HTML / CSS
完美解决IE8下不兼容rgba()的问题
Mar 31 HTML / CSS
详解canvas绘图时遇到的跨域问题
Mar 22 HTML / CSS
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
May 10 HTML / CSS
html实现弹窗的实例
Jun 09 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 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绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
Python实现的计算马氏距离算法示例
2018/04/03 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
医学院毕业生自荐信
2013/11/08 职场文书
节约用水的口号
2014/06/20 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
党章培训心得体会
2014/09/04 职场文书
优秀党员推荐材料
2014/12/18 职场文书
公司备用金管理制度
2015/08/04 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫
详解如何使用Nginx解决跨域问题
2022/05/06 Servers