经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS3 » 查看文章
CSS3实现苹果手机解锁的字体闪亮效果示例_css3_CSS
来源:jb51  时间:2021/1/11 10:05:54  对本文有异议

0.前言

2016年08月18日 今天看到注意到苹果手机的滑动解锁,提示字上会有一道白光闪过,感觉很炫酷,所以突然就来了兴致想要做一个当鼠标放在字体上(模拟手指)时,白光一闪而过,照亮字体的效果。

1.思路

首先呢,需要做出来一道倾斜的白光,这道白光就是用来实现“照亮字体”的效果的。

这一步做好之后,接下来的事情就简单了,也就是让白光先消失,然后当鼠标移动到字体上的时候,白光出现,从字体上划过。

2.白光的制作

上面的图片可以看到,就是白光的边缘不是由白色直接变成黑色,而是渐变成黑色。所以,我们在制作这到白光的时候,需要用CSS中的渐变。 <linear-gradient>

制作过程

首先我们先创建一个div,设置一个简单的居中默认样式。

代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. margin: 0;
  9. }
  10. div{
  11. width: 700px;
  12. height: 200px;
  13. border: 1px solid black;
  14. margin: 0 auto;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div></div>
  20. </body>
  21. </html>

运行结果:

2.设置渐变。

设置一个渐变,由“黑->白->黑",有一定角度的倾斜。

代码:

  1. background: -webkit-linear-gradient(-45deg,
  2. #000 100px,
  3. #FFF 140px,
  4. #FFF 220px,
  5. #000 260px);
  6. /*角度设定的是-45°*/

此时,运行结果:

另外,关于渐变的起始方向角度问题说明:

1.如果没有设置渐变的方向和角度,那么默认是由上到下渐变;
2.如果设置了渐变的方向,那么就按照设置的方向来,
如:设置了 <background: -webkit-linear-gradient(right,red,yellow,blue)>
渐变方向就是自右往左依次为红色,黄色,蓝色。
3.可以设置top right,right bottom,left bottom,top left,表示分别从 对应的四个角开始渐变
4.可以设置角度。线性渐变的角度开始是在X轴的负半轴为起点逆时针开始算的。这里角度设置的是-45°,

所以,由左上角到右下角依次渐变。

3.设置背景文字 到这里,可能有人会有疑问:为什么要单独说设置背景字呢?

因为这里有一个不明显的陷阱!

具体是什么,这里先不交代,等会会有具体的现象呈现给大家。

这里先常规的设置一下字体。

  1. font-size: 50px;
  2. text-align: center;
  3. line-height: 200px;
  4. color: white;
  5. /*设置的文字是:啦啦啦啦啦啦啦啦德玛西亚!!*/

4.白光的滑动效果

这个没什么好说的,先让白光消失,当鼠标放在div上的时候,白光出现,然后划过。

直接上:

  1. background-position: -1000px,0px;

效果:

呃...呃,什么情况??

好吧,背景重复了。 这里一定要设置background-repeat:no-repeat;(注意:字体是白色的,所以文字暂时不会显示出来)

设置动态伪类:

  1. div:hover{
  2. background-position: 1000px,0px;
  3. transition:all 5s;
  4. }

为了效果我们设置整个body的背景颜色为黑色。

效果,当鼠标未移到div上时,只显示文字,当鼠标放在div上时,会有一道白光划过。

3.background-clip:text

白光做好了,但是,却跟我们想象总的不太一样。

要知道,我们想要的装逼结果是只照亮文字,而不是让你跟一个激光一样嗤嗤的划过去。

所以,这时,我们便要用到一个标签: <background-clip:text>

这个标签意义是:可以将除了文字以外的其他背景,全部切除。这样就会实现我们的效果了。

但是要注意,这个标签在使用的时候要加上浏览器前缀,因为很多浏览器在没有浏览器前缀的时候,根本无法识别。

直接看结果。

纳尼?! 怎么没有效果?我的白光呢?

这时,会发现,当鼠标移上去的时候,什么现象都没有。白光划过的现象消失了!

真的消失了吗?

当然不是,这里白光实际上是存在的,只不过是被文字挡住了。

还记得之前我为什么要把设置文字单独拿出来说了吗?因为文字如果只是单独的设置颜色的话,是不行的。我们需要给文字一个透明度,这样才能让背景的白光,透过文字显示出来。

这时候我们给文字的颜色就应该用rgba的方法来设置了,给文字一定的透明度。

<color:rgba(255,255,255,0.1);>

这样我们想要的照亮字体的效果便实现啦。( ^__^ )

下面附上整体代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. body{
  8. margin: 0;
  9. background: #000;
  10. }
  11. div{
  12. width: 1000px;
  13. height: 200px;
  14. border: 1px solid black;
  15. margin: 0 auto;
  16. font-size: 70px;
  17. text-align: center;
  18. line-height: 200px;
  19. color:rgba(255,255,255,1);
  20. background: -webkit-linear-gradient(-45deg,
  21. #000 100px,
  22. #FFF 140px,
  23. #FFF 220px,
  24. #000 260px);
  25. /*角度设定的是-45°*/
  26. background-position: -1000px,0px;
  27. background-repeat: no-repeat;
  28. -webkit-background-clip: text;
  29. }
  30. div:hover{
  31. background-position: 1000px,0px;
  32. transition:all 5s;
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <div>啦啦啦啦啦啦啦啦德玛西亚!!</div>
  38. </body>
  39. </html>

到此这篇关于CSS3实现苹果手机解锁的字体闪亮效果示例的文章就介绍到这了,更多相关CSS3苹果解锁字体闪亮内容请搜索w3xue以前的文章或继续浏览下面的相关文章,希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号