用CSS实现一个类似Elementplus的文字虚化效果
我们可能看到过这样的一个效果:页面中的内容滚动穿过某个固定元素时,会产生虚化的视觉效果,能看出文字的轮廓,但是却无法看到具体的内容,给人一种哎呦?不错哦的感觉。
我们来拿elementplus官网作为案例,看看它是如何实现的,然后我们再自己照着实现一版。
比如正常的文字显示是这样的:
正常显示
虚化之后看起来是这个样子:
虚化一下
这个是elementplus官网中首页的效果,顶部有一个固定高度的头部横条,当页面滚动的时候,横条下面的文字就会显示成上面图中虚化后的样子。
首先来分析一下,如果是我们自己实现一个这样的效果,该怎么做呢?看来这个头部横条不能是一个纯白色的背景,因为要能看到文字,所以应该要有一个透明度,但是不能完全透明,因为它看起来不是那么的黑,然后我们观察到有毛玻璃的效果,所以我们要给它模糊一下。
先来做一个最初的原图,在这个基础上尝试几种方案:
原图
从上面的分析中我们可以知道,主要的手段就是:背景模糊。
我们先来用第一种方案做一下:背景透明度模糊
效果
它的代码非常简单{backgroundcolor:rgba(255,255,255,0。5);backdropfilter:blur(4px);}
我们可以通过背景透明度和模糊的程度来调整视觉效果。
其中vite的官网就是这样实现的,只是参数有所改变,我们来看下它的效果和代码:
效果{backdropfilter:saturate(50)blur(8px);background:rgba(255,255,255,。7);}
我们再看elemenplus官网中的第二种方案:背景图模糊
效果
它的代码也很简单,我们可以对它简单的分析一下。{backgroundimage:radialgradient(transparent1px,ffffff1px);backgroundsize:4px4px;backdropfilter:saturate(50)blur(4px);}
这里用到了径向渐变,径向渐变默认从中心向外扩散,其中transparent和ffffff表示从透明过渡到纯白,两个1px的作用就是在1px处直接从透明变为白色,不产生渐变的过渡效果,因此从中心到1px距离处都是透明的,也就是半径为1px的圆内都为透明色,从1px之外都是显示成白色,它这里在实现的时候使用了单位区域4px的大小来绘制背景,然后通过背景重复的方式来平铺整个元素。
可以这样来理解,单位区域内,透明色为半径是1px的圆的范围,那么直径就是2px,为了分布平均,因此左右和上下都加上了1px的纯白,我们来设定一下backgroundrepeat为norepeat,看一下单位区域的效果,为了明显我们把颜色改一下:
单位区域
这就是单位区域在页面中左上角显示的样子,红色就是原来的透明色,黑色就是原来的白色,为了看得明显,我把页面放大了500,如果我把背景设置为重复:
背景重复
可以看到就是这个样子,因此它后面的文字就会有一部分通过透明区域显示出来:
显示
这个时候我们再加上模糊效果,那么就会显示成官网中的样子了。
那么还有没有其他的方法呢?
有!思路跟第二种类似,只不过我们不用径向渐变,而是使用线性渐变。
我们可以看到,径向渐变有误伤的像素,4px的大小会覆盖两个像素点,使我们看不见后面的文字,而且圆形不能使文字完全露出来。
最好是一个像素看不见,一个像素能看见,这样就像蒙了一层纱布一样均匀。
要想实现这样的效果,我们首先把单位区域设置成2px大小的正方形,然后借鉴一下CSS3PatternsGallary的鬼斧神工:
单位区域
我们通过设置透明色和黑色来展示样子,同样页面放大了500。代码如下:{backgroundimage:lineargradient(45deg,black25,transparent25,transparent75,black75,black),lineargradient(45deg,black25,transparent25,transparent75,black75,black);backgroundsize:2px2px;backgroundposition:00,1px1px;}
我们再把背景重复一下:
背景重复
这样就变成了一个透明像素一个黑色像素。我们把黑色变成白色再看实际的文字显示:
效果
可以看到,文字就好像每隔一个像素点都被掏空了一样。
然后我们再加上之前用到的模糊,调整一下视觉效果:
效果
这样就有了毛玻璃叠加纱布的视觉效果。完整代码如下:{backgroundimage:lineargradient(45deg,black25,transparent25,transparent75,black75,black),lineargradient(45deg,black25,transparent25,transparent75,black75,black);backgroundsize:2px2px;backgroundposition:00,1px1px;backdropfilter:blur(4px);}
原理不难,技术也是很简单,都是一些好玩的css特性,实现的方式也很多。
创造力是无穷的,就看谁的花样多!
汤唯15年前因一部色戒被封杀,15年后逆袭成韩国大满贯影后记得点赞加关注,为您奉上更多娱乐大餐最近,汤唯凭借分手的决心获得了2022釜日电影奖最佳女主角。据悉,她也是第一位在韩国获此殊荣的外籍女演员。不久前,在9月30日颁发的第27届春史
幼时的杨绛晚清的北京,往日的大清盛世不复存矣,繁华落尽,即将迎来新的时代。1911年7月17日杨绛出生在北京,此时正是辛亥革命爆发前,局势动荡,整个国家暗潮涌动。有人想要持久保守,有人想要进
饿了么适配灵动岛,美团被捷足先登iOS16。1后,实时活动正式向第三方开放,此前盒马APP适配速度很快,昨天,饿了么升级后也正式适配实时活动,用户可以在锁屏界面和灵动岛上查看外卖信息,今天使用美团外卖的人数大概率
生米煮成熟饭,父母接受女儿的婚姻,不料孩子出生后一切都变了谢谢,谢谢病房里的老人不断地跟护士道谢。感觉昨天还在襁褓中的小凤,不知不觉已经出落成大姑娘了,妈妈在外打工,留下外公陪在身边照顾。可随着小凤年龄的增长,老人照顾外孙女开始有了很多不
每体评分皮克拿出最佳表现ampampamp让点莱万拿到最高9分,莱万5分最低直播吧11月6日讯北京时间周日凌晨的西甲第13轮比赛,巴萨在主场以20的比分战胜阿尔梅里亚,最终凭借登贝莱和弗兰基德容的进球,红蓝军团以20的比分战胜对手。赛后,每日体育报对本场比
2022年世界互联网大会乌镇峰会进入倒计时吉祥物小互来了日前,记者从乌镇峰会会务公司获悉,随着2022年世界互联网大会乌镇峰会进入倒计时,吉祥物小互也将在本届大会上出道。圆圆的脑袋自带鼠标指尖触角机器人身体,小互形象灵感主要来源于大会最
恋爱脑为什么成了21世纪新型绝症?出品虎嗅青年文化组作者黄瓜汽水编辑题图渣渣郡本文首发于虎嗅年轻内容公众号那個NG(IDhuxiu4youth)。在这里,我们呈现当下年轻人的面貌故事和态度。对一个年轻人最恶毒的诅咒
儿时回忆之笋壳虫在我们儿时玩过的小虫中,最干净的,就只有笋壳虫了。它既没有一丝的异味,也不会喷吐液体,加上外形长得奇特,如外星生物一般,所以被孩子们视为宝贝,争相捕捉。笋壳虫长在竹林里,以吸食鲜嫩
安史之乱引发的人口迁徙与技术革新及影响中国封建社会历经朝代无数,繁荣与衰亡是常有的事情,从这历朝历代兴衰的总体现实来看,每一个时代走向灭亡其实都是有预兆的,最典型的表现是朝政动荡引发多种规模的农民动乱,紧接着出现割据和
(新华全媒)湿地之美丨云南洱源西湖湿地(2)西湖国家湿地公园位于云南省大理白族自治州洱源县境内,地处苍山云弄峰下,属澜沧江水系,是洱海的重要水源地之一。西湖湿地以泥炭沼泽高原天然湖泊景观及紫水鸡为主要保护对象,自然风光优美,
慈禧与李莲英到底有多亲密在慈禧太后与李莲英之间,50多年的主仆关系形成的感情可不是一般的。慈禧太后呢,可以说是一个权力欲极强,顺我者昌,逆我者亡的心狠手辣的独裁者。但是他抹不掉上帝给她的性别底色,在她性格