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 相关文章推荐
用CSS禁用输入法(CSS3 UI规范)实例解析
Dec 04 HTML / CSS
css3教程之倾斜页面
Jan 27 HTML / CSS
css3实现可滑动跳转的分页插件示例
May 08 HTML / CSS
详解CSS3选择器的使用方法汇总
Nov 24 HTML / CSS
html5的localstorage详解
May 09 HTML / CSS
使用HTML5的链接预取功能(link prefetching)给网站提速
Dec 13 HTML / CSS
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
Jan 30 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
Nov 12 HTML / CSS
简单介绍HTML5中的文件导入
May 08 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
Dec 15 HTML / CSS
html5拖拽应用记录及注意点
May 27 HTML / CSS
position:sticky 粘性定位的几种巧妙应用详解
Apr 24 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
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
Python----数据预处理代码实例
2019/03/20 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
python numpy库np.percentile用法说明
2020/06/08 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
委托证明的格式
2014/01/10 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
2016春节慰问信范文
2015/03/25 职场文书
暂住证明怎么写
2015/06/19 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
mysql事务对效率的影响分析总结
2021/10/24 MySQL