
文章插图
复古、版画、油画、漫画、液化、老照片、性冷淡、莫兰迪、赛博朋克、旺达幻视风格通通都可以实现!

文章插图
背景基本概念
CSS filter 属性将模糊或颜色偏移等图形效果应用于元素形成滤镜,滤镜通常用于调整图像,背景和边框的渲染 。它的值可以为 filter 函数 <filter-function> 或使用 url 添加的svg滤镜 。filter: <filter-function> [<filter-function>]* | nonefilter: url(file.svg#filter-element-id)<filter-function> 可以用于 filter 和 backdrop-filter 属性 。它的数据类型由下列过滤器函数之一指定 。每个函数需要一个参数,如果参数无效,则滤镜不会生效 。以下是对滤镜函数含义的解释:blur():模糊图像brightness():让图像更明亮或更暗淡contrast():增加或减少图像的对比度drop-shadow():在图像后方应用投影grayscale():将图像转为灰度图hue-rotate():改变图像的整体色调invert():反转图像颜色opacity():改变图像透明度saturate():超饱和或去饱和输入的图像sepia():将图像转为棕褐色
/* 使用SVG filter */filter: url("filters.svg#filter-id");/* 使用filter函数 */filter: blur(5px);filter: brightness(0.4);filter: contrast(200%);filter: drop-shadow(16px 16px 20px blue);filter: grayscale(50%);filter: hue-rotate(90deg);filter: invert(75%);filter: opacity(25%);filter: saturate(30%);filter: sepia(60%);/* 多个filter */filter: contrast(175%) brightness(3%);/* 不使用filter */filter: none;/* 全局变量 */filter: inherit;filter: initial;filter: unset;
文章插图
应用案例更加智能的阴影效果在给元素添加阴影的时候,我们一般采用
box-shadow 属性,通过 box-shadow(x偏移, y偏移, 模糊大小, 阴影大小, 色值, inset) 的语法形式很容易为元素添加阴影效果,但 box-shadow 也有一个缺点,就是在给透明图片添加阴影效果时,无法穿透元素,只能添加到透明图片元素的盒模型上 。这个时候,filter 属性的 drop-shadow 方法就能很好的解决这个问题,用它添加的阴影可以穿透元素,而不是添加到元素的盒模型边框上 。drop-shadow 添加的阴影除了可以穿透透明元素外,阴影效果和 box-shadow 是相同的,如果浏览器支持硬件加速的话,使用 filter 添加的阴影效果会更加逼真 。drop-shadow 语法如下(它除了不支持设置 inset,其他和 box-shadow 是完全相同的):filter: drop-shadow(x偏移, y偏移, 模糊大小, 色值);如:filter: drop-shadow(1px 1px 15px rgba(0, 0, 0, .5));下图是分别使用 box-shadow 和 filter: drop-shadow 为透明元素添加阴影的对比:
文章插图
<img class="box-shadow" src="https://tazarkount.com/read/futurama.png" /><img class="drop-shadow" src="https://tazarkount.com/read/futurama.png" />.box-shadow {box-shadow: 1px 1px 15px rgba(0, 0, 0, .5);}.drop-shadow {filter: drop-shadow(1px 1px 15px rgba(0, 0, 0, .5));}元素、网页置灰发生重大灾害事故或其他哀悼日时,国企政府网站往往有网页全部置灰的需求 。或者很多网页中有鼠标 hover 悬浮到灰色元素上时变成彩色的样式效果 。此时就可以使用 filter 属性的 grayscale 方法实现,它可以调整元素灰度,通过给页面元素设置 filter: grayscale(100%) 就可将页面元素置灰 。以下示例中,body 标签下有 h1 和 img 标签,未添加 filter 样式前如下所示 。<body><h1 class="title">FUTURAMA</h1><img class="img" width="500" src="https://tazarkount.com/read/images/futurama.png" /></body>
文章插图
现在我们给
body 元素添加一个 .gray 类,<body class="gray"> 就可实现整个网页置灰效果 。.gray {filter: grayscale(100%);}
文章插图
【CSS filter 有哪些神奇用途】为了兼容
IE8 等其他低版本浏览器,我们可以加上浏览器前缀和 svg 滤镜 。
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
