我是靠谱客的博主 悦耳鱼,最近开发中收集的这篇文章主要介绍css蒙层穿透,CSS题目系列(4) - 文字穿透遮罩层I ❤ CSS,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

描述

在我刚开始学习前端开发不久的时候,曾在一个网站看到过一个效果,当时费尽脑筋,又是Canvas、又是SVG,还是无法实现(其实SVG好像是有办法可以实现的,但当时觉得麻烦就没弄)。

效果就是这样的:

eecbfc053e78

image

这个效果的难点在于,如何让文字穿透过遮罩层,但是这样好像很难。

直到最近,我看到了张鑫旭大神的一篇文章,文中讲述了如何给文字添加背景颜色(也可以是背景图片),顿时醍醐灌顶,想到了这样一个解决方案:

里外两个层,尺寸一样,设置同一个背景图片。

外层通过伪元素实现遮罩。

里层绝对定位,将背景添加到文字上。

可能我文字表达地不是很清晰,下面用代码讲解一下。

正文

如果你点进了上面张鑫旭大神的那篇文章,你就知道主要是两行:

-webkit-text-fill-color: transparent

-webkit-background-clip: text

简单说一下作用:

-webkit-text-fill-color: transparent

将文字颜色变成透明,但是经过尝试,发现使用color:transparent效果也一样,应该是浏览器为向后兼容所拟定的一个新属性,因为如果不支持文字添加背景,但又通过color:transparent将文字变成了透明,文字就显示不出来了。

-webkit-background-clip: text

背景被裁剪为文字的前景色。

那么,下面我们试一下实现,这里只展示主要代码。

I ❤ CSS

样式部分

.container,h1{

background:url("https://gd4ark.github.io/CSS-Carousel/image/2.jpg");

background-size: 100% 100%;

}

.container h1,

.container::after{

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

}

.container{

position: relative;

width: 100%;

height: 100vh;

}

.container::after{

content: '';

background: rgba(0,0,0,0.8);

}

h1{

z-index: 2;

-webkit-text-fill-color: transparent;

-webkit-background-clip: text;

}

在线查看,可以修改文字哦: 链接

完整代码:链接

后记

没错,这个困扰我多年的效果就是这么简单,果然还是懂得少,哪知道张鑫旭大神早在2011年就给出了答案。

注:此文为原创文章,如需转载,请注明出处。

最后

以上就是悦耳鱼为你收集整理的css蒙层穿透,CSS题目系列(4) - 文字穿透遮罩层I ❤ CSS的全部内容,希望文章能够帮你解决css蒙层穿透,CSS题目系列(4) - 文字穿透遮罩层I ❤ CSS所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部