三行CSS代码把网页像素化(css设置像素)

yumo66612小时前技术文章1

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

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



我用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>

原理:

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

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

相关文章

盘点在线代码编辑测试网站(在线编写代码网站)

对于一些前端的样式和js效果,我们非常希望可以将这些代码片段保存起来,然后分享给那些想要使用这些样式特效的人,庆幸的是,网络上已经有很多这样的网站了,今天我们就来盘点一下这些非常好用的网站。jsfid...

把CSS代码“减肥”30%后,灯具独立站加载速度快了2秒

”上个月,帮佛山李总做跨境灯具站时,技术顾问的话让他直挠头——网站刚上线,流量还没起来,就被“速度”卡了脖子。我打开Chrome开发者工具,吓了一跳:一个详情页的CSS文件有1.2MB,JS文件800...

源自codepen的25个最受欢迎的HTML/CSS 代码

Codepen是一个非常了不起的网页应用。只要电脑能够上网,你就可以创建HTML, CSS和Javascript。如果你想选择性加入PRO版本,你会得到一些非常酷的效果诸如:世界范围内的成对编程(在线...

从网站检查中复制CSS代码的最简单方法

在处理网站项目时,您是否曾经对使用开发工具感到沮丧?必须在您正在处理的网页和检查器之间来回切换以查看CSS并进行调整通常可能是一个挑战。值得庆幸的是,有一个浏览器扩展程序可以简化该过程:CSS Sca...

可以看得见的代码运行:编程教学网站

可视化的查看代码运行原理的网站以下是几个常见的可视化查看代码运行原理的网站:Python Tutor(http://www.pythontutor.com):Python Tutor 是一个在线的代码...

短网址见多了,来看看这个长长长长长网址

短网址的由来说起短网址的由来,不得不提到一个平台,那就是微博。微博早期时候,每条微博最多只能写 140 个字,这就导致如果你想在一条微博中写一条网址,那么网址就会占用一大半的内容。于是人们就想,能不能...