CSS3实现苹果手机解锁的字体闪亮效果示例


Posted in HTML / CSS onJanuary 05, 2021

0.前言

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

CSS3实现苹果手机解锁的字体闪亮效果示例

1.思路

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

CSS3实现苹果手机解锁的字体闪亮效果示例

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

2.白光的制作

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

制作过程

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

代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
  body{
    margin: 0;	
  }
  div{
    width: 700px;
    height: 200px;
    border: 1px solid black;
    margin: 0 auto;
  }
</style>
</head>
<body>
  <div></div>
</body>
</html>

运行结果:

CSS3实现苹果手机解锁的字体闪亮效果示例

2.设置渐变。

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

代码:

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

此时,运行结果:

CSS3实现苹果手机解锁的字体闪亮效果示例

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

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

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

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

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

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

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

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

4.白光的滑动效果

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

直接上:

background-position: -1000px,0px;

效果:

CSS3实现苹果手机解锁的字体闪亮效果示例

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

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

设置动态伪类:

div:hover{
  background-position: 1000px,0px;
  transition:all 5s;
}

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

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

CSS3实现苹果手机解锁的字体闪亮效果示例

3.background-clip:text

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

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

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

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

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

直接看结果。

CSS3实现苹果手机解锁的字体闪亮效果示例

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

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

真的消失了吗?

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

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

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

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

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

CSS3实现苹果手机解锁的字体闪亮效果示例

下面附上整体代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		body{
			margin: 0;
			background: #000;
		}
		div{
			width: 1000px;
			height: 200px;
			border: 1px solid black;
			margin: 0 auto;
			font-size: 70px;
			text-align: center;
			line-height: 200px;
			color:rgba(255,255,255,1);
			background: -webkit-linear-gradient(-45deg,
				#000 100px,
				#FFF 140px,
				#FFF 220px,
				#000 260px);
			/*角度设定的是-45°*/
		background-position: -1000px,0px;
		background-repeat: no-repeat;
		 -webkit-background-clip: text;
		}
		div:hover{
			background-position: 1000px,0px;
			transition:all 5s;
		}
	</style>
</head>
<body>
	<div>啦啦啦啦啦啦啦啦德玛西亚!!</div>
</body>
</html>

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

HTML / CSS 相关文章推荐
CSS3实现闪烁动画效果的方法
Feb 09 HTML / CSS
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
Apr 24 HTML / CSS
初探CSS3中的calc()功能
Jul 14 HTML / CSS
CSS3下的渐变文字效果实现示例
Mar 02 HTML / CSS
HTML5 device access 设备访问详解
May 24 HTML / CSS
详解WebSocket跨域问题解决
Aug 06 HTML / CSS
利用 Canvas实现绘画一个未闭合的带进度条的圆环
Jul 26 HTML / CSS
html5视频媒体标签video的使用方法及完整参数说明详解
Sep 27 HTML / CSS
HTML5公共页面提取作为公用代码的方法
Jun 30 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
Aug 17 HTML / CSS
CSS3常见动画的实现方式
Apr 14 HTML / CSS
Css预编语言及区别详解
Apr 25 HTML / CSS
使用CSS3制作版头动画效果
Dec 24 #HTML / CSS
CSS3实现红包抖动效果
Dec 23 #HTML / CSS
html5+css3之制作header实例与更新
Dec 21 #HTML / CSS
CSS3中animation实现流光按钮效果
Dec 21 #HTML / CSS
css3中flex布局宽度不生效的解决
Dec 09 #HTML / CSS
html+css3实现的登录界面
Dec 09 #HTML / CSS
CSS3 实现的缩略图悬停效果
Dec 09 #HTML / CSS
You might like
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php中static和const关键字用法分析
2016/12/07 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
js或css实现滚动广告的几种方案
2010/01/28 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
jquery实现盒子下拉效果示例代码
2013/09/12 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
2020/06/05 Python
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
性能测试工程师的面试题
2015/02/20 面试题
《纸船和风筝》教学反思
2014/02/15 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
交通安全学习心得体会
2016/01/18 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
CSS的calc函数用法小结
2022/06/25 HTML / CSS