加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 智能机器人、大数据、CDN、图像分析、语音技术!
当前位置: 首页 > 教程 > 正文

教你CSS如何实现背景镂空

发布时间:2023-07-25 11:01:59 所属栏目:教程 来源:互联网
导读:   这篇文章主要介绍“CSS如何实现背景镂空”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS如何实现背景镂空”文章能
  这篇文章主要介绍“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;
 
  }
 
  这边使用的是径向渐变的方式,给背景设置一个中间透明,四周白色的背景,可能以上代码并不能很好体现这个背景如何生效的,我们来看看下面这个:
 
  .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;
 
  }
 
  懂了吧?就是一个这种的小方块平铺形成的。假如我们的背景色不设置,那么这就是一个镂空的背景。
 
  如何设置背景尺寸合适
 
  我们可以看到我们的小圆孔是很均匀排列开的,假如我改一下背景的尺寸,效果如下:
 
  .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; */
 
  }

  可以看到,圆孔变得密集了,那么背景尺寸调到多少会变成完全透明呢?我口算了一下,应该是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; */
 
  }
 
  为了看的更加清楚,我们将原本的白色改成黑色,并且把71px改成72px:
 
  出现黑色点点了!说明我算的不错,一点不差,我可真棒!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;
 
  }

  修改下尺寸:
 
  background-image: radial-gradient(transparent 1px, #fff 1px);
 
  background-size: 4px 4px;
 
  代码如下:
 
  .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又是干嘛的呢?试试就知道了:
 
  唔,变暗了呢
 
  查了下英文意思是使湿透的意思,emmmm,好像红色的衣服湿了确实就变成暗红了,有点意思。这边有个百分比的设置,尝试一下效果:
 
  我们将百分比设置为10%:

 

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章