4-3 视觉效果 毛玻璃效果_html/css_WEB-ITnose
知识储备
1.filter:blur() CSS3模糊滤镜
这个效果很有趣哦。先来看看效果图吧
毛玻璃效果
效果实现
我们先来看看html结构吧,本书作者采用了blockquote结构来展示,因为对其不是特别熟悉,于是用p标签来代替
示例代码:html
<div class="mytest"> <p>"The only way to get rid of a temptation is yield to it.Resist it,and your soul grows sick with longing for the things it has forbidden to itself." <br/>Oscar Wilde,The Picture of Dorian Gray </p></div>
css因为是背景图片(无法撑开容器),必须设置其容器大小
.test{ position: relative; width: 400px; height: 250px; margin: 0 auto; background: url("锥头螳螂.jpg") center; background-size: cover;}
设置文字p容器(这里我称呼它为玻璃) 垂直/水平 居中
.test p{ width: 330px; padding: 15px; //设置文字左右/垂直居中 position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); margin: 0; //取消p标签的margin background: hsla(0,100%,50%,.6); //设置其背景色 color: white; border-radius: 3px; overflow: hidden; //下面具体分析其作用}
设置伪元素来模拟毛玻璃的效果
.test p::before{ position: absolute; left: 0; top: 0; bottom: 0; right: 0; content: ''; background: url("锥头螳螂.jpg"); background-size: cover; margin: -20px; //!!这个后面会说明 z-index: -1; //!!这个后面会重点说明 -webkit-filter: blur(20px); filter: blur(20px);}
于是乎,看完一大堆代码还是很难受的。我们整理一下思路
1.我们设置了父容器来显示图片
2.我们设置了p标签,并将玻璃先生(p标签)水平/垂直居中,并给玻璃先生一点半透明的背景色效果:
半透明背景
3.上面的效果还不是我们想要的,上面的半透明色影响到了我们去阅读文字于是我们设置了一个伪元素来制造一点毛的效果我们先来加个滤镜,并设置和div容器一样的背景图片
background: url("锥头螳螂.jpg") no-repeat center;-webkit-filter: blur(5px);filter: blur(5px);
其次设置z-index=-1,防止覆盖文字
但是,还有一点瑕疵---模糊程度越到边缘越不明显
观察看到,模糊程度越到边缘越不明显
于是作者非常巧妙地利用
margin: -20px;
来扩大模糊半径,同时做到和背景图片的重合这里很重要,所以请注意看!!!!
我们先来解释模糊半径
扩大的模糊半径(超出了父容器)
于是在玻璃先生(p标签)的样式里设置
overflow:hidden
再看看效果
理想的模糊效果
那么我们来说第二点,这里需要一点点计算,也是这个效果的约束之一我们去掉滤镜,来看看伪元素背景图和div容器背景图是否重合
明显不重合的背景
虽然模糊后,我们不易察觉,但有时我们需要一个微弱的模糊滤镜的时候很容易被察觉,来查查原因!思考一番,发现伪元素和div背景大小不一致,背景图缩放不同,产生了错位。了解原因后,我们总结一下:
1.我们需要让div容器和伪元素宽度一致2.我们不希望div容器因为高让图片产生横向的缩放
计算一下:伪元素宽度330px+2x内距15px+2x伪元素外距20px = 400px,正好是div容器宽度,我们的错位也消失了。(这里margin起到了调节的效果)
4.我们加回滤镜,效果已经很逼真了,但是貌似我们的毛玻璃和背景色融在了一起,所以我们在玻璃先生(p标签)中加了背景色(这里的颜色需要与背景色有较大的色差才明显)
background: hsla(274, 100%, 90%, 0.2);
并在我们的伪元素中加入上一节学到的滤镜
mix-blend-mode: luminosity;
大功告成,我们实现了效果
可以尝试一下不同的滤镜效果哦

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了&lt; iframe&gt;将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...
