CSS3实现歌词进度文字颜色填充变化动态效果的思路详解


Posted in HTML / CSS onJune 02, 2020

播放音乐时,歌词会随歌曲的进度逐渐填充颜色,不是逐字改变颜色,而是从左向右横向逐个像素改变的,也就是说会出现一个字的左右两边是不同颜色的效果。

CSS3实现歌词进度文字颜色填充变化动态效果的思路详解

这个效果通过CSS3可以实现。

实现思路:

1、background填充一个背景颜色,以及要变化的颜色

2、-webkit-background-clip:text;裁剪出文字的背景,即是楼空文字的意思

3、-webkit-text-fill-color:transparent;把裁剪缕空的文字弄透明,这样就可以通过缕空的形状看到背景颜色,这时背景颜色就是字体的颜色

4、background-size:0 100%;设置背景的宽为0,然后通过通道改变背景的宽度,就可以实现文字颜色读词效果。

HTML代码:

<div style="padding:15% 35%; text-align:center;">
    <span class="text">从左往右填充文字颜色</span>
</div>

CSS代码:

@keyframes scan {
	0% {
		background-size:0 100%;
	}
	100% {
		background-size:100% 100%;
	}
}
.text {
	background:#7e7e7e -webkit-linear-gradient(left, #fff, #fff) no-repeat 0 0;
	-webkit-text-fill-color:transparent;
	-webkit-background-clip:text;
	background-size:0 100%;
}
.load {
	background-size:100% 100%;
	animation: scan 5s linear;
}

jquery代码:

window.onload=function(){
    $('.text').addClass('load');
}

注意:通过上面代码实现的效果,只支持webkit系浏览器

总结

到此这篇关于CSS3实现歌词进度文字颜色填充变化动态效果的思路详解的文章就介绍到这了,更多相关CSS3文字颜色填充内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3结构性伪类选择器九种写法
Apr 18 HTML / CSS
CSS3盒子模型详解
Apr 24 HTML / CSS
CSS3简单实现照片墙
Dec 12 HTML / CSS
实例讲解CSS3中的border-radius属性
Aug 18 HTML / CSS
浅谈CSS3动画的回调处理
Jul 21 HTML / CSS
HTML页面中添加Canvas标签示例
Jan 01 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
May 15 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
Aug 28 HTML / CSS
Html5获取高德地图定位天气的方法
Dec 26 HTML / CSS
CSS filter 有什么神奇用途
May 25 HTML / CSS
HTML5 新增内容和 API详解
Nov 17 HTML / CSS
html,css,javascript是怎样变成页面的
May 07 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
Jun 01 #HTML / CSS
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
Jun 01 #HTML / CSS
css3实现背景模糊的三种方式(小结)
May 15 #HTML / CSS
css3遮罩层镂空效果的多种实现方法
May 11 #HTML / CSS
css3的focus-within选择器的使用
May 11 #HTML / CSS
CSS3实现渐变背景兼容问题
May 06 #HTML / CSS
通过css3的filter滤镜改变png图片的颜色的示例代码
May 06 #HTML / CSS
You might like
PHP array操作10个小技巧分享
2011/06/23 PHP
php URL验证正则表达式
2011/07/19 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
实现jquery放大镜的两种方法
2018/02/22 jQuery
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
python3将变量输入的简单实例
2020/08/19 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
清明节网上祭英烈活动总结
2014/04/30 职场文书
求职简历自荐信
2014/06/18 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
幼师自荐信范文
2015/03/06 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis