温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CSS如何实现背景镂空

发布时间:2023-01-31 17:24:18 来源:亿速云 阅读:185 作者:iii 栏目:web开发

这篇文章主要介绍“CSS如何实现背景镂空”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS如何实现背景镂空”文章能帮助大家解决问题。

背景镂空

.header {
   position: fixed;
   top: 0;
   width: 100%;
   height: 400px;
   background-image: radial-gradient(transparent 50px, #fff 50px);
   background-size: 200px 200px;
   background-color: yellow;
}

CSS如何实现背景镂空

这边使用的是径向渐变的方式,给背景设置一个中间透明,四周白色的背景,可能以上代码并不能很好体现这个背景如何生效的,我们来看看下面这个:

.header {
   position: fixed;
   top: 0;
   width: 100%;
   height: 400px;
   background-image: radial-gradient(transparent 50px, #fff 50px);
   background-size: 200px 200px;
   background-color: yellow;
+   background-repeat: no-repeat;
}

CSS如何实现背景镂空

懂了吧?就是一个这种的小方块平铺形成的。假如我们的背景色不设置,那么这就是一个镂空的背景。

如何设置背景尺寸合适

我们可以看到我们的小圆孔是很均匀排列开的,假如我改一下背景的尺寸,效果如下:

.header {
   position: fixed;
   top: 0;
   width: 100%;
   height: 400px;
   background-image: radial-gradient(transparent 50px, #fff 50px);
   background-size: 120px 120px;
   background-color: yellow;
   /* background-repeat: no-repeat; */
}

CSS如何实现背景镂空

可以看到,圆孔变得密集了,那么背景尺寸调到多少会变成完全透明呢?我口算了一下,应该是50根号2,也就是大概71px。试试?

.header {
   position: fixed;
   top: 0;
   width: 100%;
   height: 400px;
   background-image: radial-gradient(transparent 50px, #fff 50px);
   background-size: 71px 71px;
   background-color: yellow;
   /* background-repeat: no-repeat; */
}

CSS如何实现背景镂空

为了看的更加清楚,我们将原本的白色改成黑色,并且把71px改成72px:

CSS如何实现背景镂空

出现黑色点点了!说明我算的不错,一点不差,我可真棒!ok,咱们继续探索

这个蒙板还不错

我们现在要对标Element 官网那样的效果,我做了下面的例子:

.header {
   position: fixed;
   top: 0;
   width: 100%;
   height: 400px;
   background-image: radial-gradient(transparent 10px, #fff 10px);
   background-size: 40px 40px;
}

.container {
   padding-top: 400px;
   height: 200vh;
}

.circle {
   width: 100%;
   height: 200px;
   border-radius: 25px;
   background-color: red;
}

CSS如何实现背景镂空

修改下尺寸:

background-image: radial-gradient(transparent 1px, #fff 1px);
background-size: 4px 4px;

CSS如何实现背景镂空

Element 是怎么做的

CSS如何实现背景镂空

代码如下:

.navbar-wrapper {
 position: relative;
 border-bottom: 1px solid var(--border-color);
 height: var(--header-height);
 padding: 0 12px 0 24px;
 background-image: radial-gradient(transparent 1px,var(--bg-color) 1px);
 background-size: 4px 4px;
 backdrop-filter: saturate(50%) blur(4px);
 -webkit-backdrop-filter: saturate(50%) blur(4px);
 top: 0;
}

欧?backdrop-filter这个是什么,以前没用过耶,尝试一下。这里有两个属性,第一个有点陌生,第二个应该是设置毛玻璃效果的虚化吧,先试咱们会的:

CSS如何实现背景镂空

确实有虚化效果。那saturate又是干嘛的呢?试试就知道了:

CSS如何实现背景镂空

唔,变暗了呢

CSS如何实现背景镂空

查了下英文意思是使湿透的意思,emmmm,好像红色的衣服湿了确实就变成暗红了,有点意思。这边有个百分比的设置,尝试一下效果:

我们将百分比设置为10%

CSS如何实现背景镂空

关于“CSS如何实现背景镂空”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css
AI