css实现模糊镜效果及渐变字体和text-shadow冲突解决方案

29,287次阅读
没有评论

共计 1810 个字符,预计需要花费 5 分钟才能阅读完成。

前言

今天主要介绍 2 个 css 特效,一个是 css 实现模糊镜效果,就是一个返回顶部标签,或者固底标签,网页滑动的时候看到网页滑动过的部分是模糊的。类型模糊镜子的效果,看哪里哪里背景是模糊的。还有就是解决一个渐变字体或者图片字体添加 text-shadow,阴影会在文字顶部的问题。

css 实现模糊镜子

实现高斯模糊,我们用 filter 的 blur 属性,但是高斯是高斯元素本身。其实有个高斯底部的属性,叫

backdrop-filter

就可以轻松实现刚刚说的效果。
注意:backdrop-filter 的当前背景需要一点点透明,不然看不到底部了。实现案例如下:



haorooms text backdrop-filte

backdrop-filter: blur(5px)

backdrop-filter 的属性,现在浏览器基本都兼容。但是 IE,UC,QQ,百度等浏览器可能不兼容,需要兼容的化可以用替代方案。

延伸,实现图片局部模糊效果

该方案不适用于网页,仅适用于网页中某个部分需要这种实现。

实现思路,背景固定,表层背景继承外层背景,表层就可以进行模糊了,代码实现如下:

.box { 
    width: 256px; height: 191px; 
    background: url(//haoroomstest.jpg) no-repeat fixed; 
    position: relative; 
    overflow: hidden;
}
.haoroomsblur{ 
    width: 100px; height: 100px;
    background: inherit; 
    -webkit-filter: blur(5px); -moz-filter: blur(5px); filter: blur(5px); 
    position: absolute; 
    overflow: hidden;
}

text-shadow 和文字颜色渐变冲突解决方案

问题:

.front-text{
width: 325px;
height: 105px;
font-size: 140px;
font-family: PingFang SC;
font-weight: bold;
color: #FFFFFF;
text-shadow: 0px 4px 0px #D52A03;
background: linear-gradient(180deg, #FFFFFF 0%, #FFE579 100%);
-webkit-background-clip: text;
 color: transparent;
}

发现 text-shadow 在文字顶部,挡住了文字。

解决方案

haoroomsblog
div { text-align: center; font-size: 80px; position: relative; color: #f6130c; // 设置文字阴影 text-shadow: 0 4px 0 #bc6d05; font-weight: bold; } div::before {content: attr(text); position: absolute; z-index: 10; color: #f6130c; // 渐变样式 background-image: linear-gradient(360deg, #f6130c 0%, #f87052 100%); -webkit-background-clip: text; color: transparent; // 去除继承父级样式 text-shadow: none; }

一般是通过分层来解决的,放 text-shadow 在底层,真正的渐变文字用伪元素来实现,当然,动态背景可以也放到 attr 里面,css 可以之间拿 attr 里面的东西,这样就可以实现动态配置的渐变字体了。

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计1810字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)