三行CSS代码把网页像素化

三行CSS代码把网页像素化最近在网上逛 突然发现 Element plus 官网的效果非常 fashion 顶部导航栏区域在页面滚动的时候 所有经过导航栏区域的内容都会变成像 像素画 一样 效果非常有意思 我用 CSS 复刻了一

欢迎大家来到IT世界,在知识的湖畔探索吧!

最近在网上逛,突然发现Element-plus官网的效果非常”fashion”。

顶部导航栏区域在页面滚动的时候,所有经过导航栏区域的内容都会变成像 “像素画” 一样,效果非常有意思。

三行CSS代码把网页像素化



欢迎大家来到IT世界,在知识的湖畔探索吧!

三行CSS代码把网页像素化

我用CSS复刻了一下这个效果,后面简单分析一下原理。

<template> <div class="wrap"> <el-switch v-model="isPixel" active-text="像素" inactive-text="正常">切换</el-switch> <div style="display: flex;align-items: center"> <div style="width: 80px">渐变:</div><el-slider v-model="gradient" max="10" :disabled="!isPixel" /> </div> <div style="display: flex;align-items: center"> <div style="width: 80px">大小:</div><el-slider v-model="size" max="10" :disabled="!isPixel" /> </div> <div style="display: flex;align-items: center"> <div style="width: 80px">模糊:</div><el-slider v-model="drop" max="10" :disabled="!isPixel" /> </div> <div class="content"> <div class="pixel" :style="pixelStyle"></div> <el-image style="width: 300px;" src="https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg" lazy /> </div> </div> </template> <script> export default { name: 'PixelStyle', data() { return { isPixel: false, gradient: 1, size: 4, drop: 4, } }, computed: { pixelStyle() { if(this.isPixel) { return { backgroundImage: `radial-gradient(transparent ${this.gradient}px, #fff ${this.gradient}px)`, backgroundSize: `${this.size}px ${this.size}px`, backdropFilter: `blur(${this.drop}px)`, } }else { return {} } } } } </script> <style scoped> .wrap { width: 340px; margin: 0 auto; border: 1px solid #ddd; padding: 20px; box-sizing: border-box; } .content { width: 300px; position: relative; } .pixel { position: absolute; top: 0; left: 0; width: 300px; height: 200px; z-index: 99; } </style>

欢迎大家来到IT世界,在知识的湖畔探索吧!

原理:

本质上就是先在图片上盖上一层模糊层(backdrop-filter),然后设置”模糊层”的背景图为一个个径向渐变的颜色块,并且设置一下大小。

这样图片部分被遮挡住,还有部分露出来,在人视觉效果中感觉就像是像素画。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/138829.html

(0)
上一篇 1小时前
下一篇 16分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信