博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
犀利的background-clip:text,实现K歌字幕效果
阅读量:6289 次
发布时间:2019-06-22

本文共 1511 字,大约阅读时间需要 5 分钟。

  
  今天学到了一个新的CSS3属性,更准确的说是属性值,那就是background-clip:text。利用此属性值可以制作出很神奇的效果。可惜只有chrome支持,不过今天可以先来玩玩这个属性。
  先来介绍下background-clip吧,它的作用是对背景图片进行裁剪,取值有content-box|padding-box|border-box,即对哪一个盒子之外的背景进行裁剪。看下面的例子就明白了:
美女
content-box
padding-box
border-box
 
  以上三个取值很自然可以想到,但它还有另外一个取值有点让人惊艳,那就是text,它可以把文本内容之外的背景给裁剪掉。比如我们把上面的例子中写上文字:
美女
content-box
padding-box
border-box
text
 
  背景内容只裁剪出了文字中的,是不是很神奇~不过这里需要和另外一个css3属性配合使用,它就是-webkit-text-fill-color: transparent; 它是用来设置文字的填充色的,作用和指定color是一样的,不过它有一个取值非常有用:transparent,可以把文字填充色设为透明,这样的话就可以漏出后面背景的颜色了,也就是“文字镂空”效果。
     这样一来,要实现一个渐变色文字就很容易了,我们只需要用css3的渐变设置背景色即可,让后让文字来把背景给镂空显示出来。非常简单,这里有一个例子:
     这里我又想到了一个实际用途,那就是实现K歌的字幕效果,文字颜色随进度而变化,需要做到同一个字上面有不同的颜色,像下面这张图:
  
  以前我们要做这样的效果,可能需要两个元素来,重叠起来,不断改变上面的元素的宽度来慢慢遮住下面,以此来模拟一种进度效果,如下是用两个元素实现的:
一盏离愁 孤单伫立在窗口
一盏离愁 孤单伫立在窗口
  这样做有几个缺陷:
     1. 一段文字需要写两遍,用两个元素
     2. 用户想要复制歌词时,无法完全选中这一行的文字。(因为确实不是同一行)
  既然我们可以用文字镂空出背景色来了,要实现这个效果也就相当容易了,只需一个div,css代码如下:
@-webkit-keyframes loop{
0%{background-position: -800px 0;} 100%{
background-position: -0 0;}}.text2{
width: 800px; height: 78px; line-height: 78px; font-size: 40px; font-family: '微软雅黑'; font-weight: bold; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-color: red; background-image:url(bg.jpg); background-repeat:no-repeat; background-position: -800px 0; -webkit-animation:loop 10s linear infinite;}

  看效果:

一盏离愁 孤单伫立在窗口
   可以很好解决上面的两个问题。当然用css3的方式也有问题的,那就是我们喜闻乐见的,不!兼!容!所以这里也只能是玩一玩了,当做一个思路。

转载地址:http://lqzta.baihongyu.com/

你可能感兴趣的文章
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>