将蒙版应用于盒子阴影

ale*_*nst 4 html css css-shapes css-mask

我有一个mask应用了 a 的 div 。我注意到我不能box-shadow在同一个 div 上应用 a,所以我必须将阴影移动到“包装器”div。

问题是,如果将阴影放置在阴影 div 上,则mask不会应用于阴影。

如何将 a 应用于maskdiv 及其阴影?

.wrapper {
  width: 200px;
  height: 200px;
  box-shadow: 17px 13px 7px 3px rgba(0,0,0,0.75);
}

.b {
  width: 200px;
  height: 200px;
  background-color: yellow;
  border: 2px solid black;


  
  -webkit-mask: radial-gradient(
    circle at center top,
    transparent 30px,
    black 31px
  ) top / 100% 51%, 
  radial-gradient(
    circle at right bottom,
    transparent 30px,
    black 31px
  ) right bottom / 51% 51%, 
  radial-gradient(
    circle at left bottom,
    transparent 30px,
    black 31px
  ) left bottom / 51% 51%;
  
  -webkit-mask-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
  <div class="b"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

Tem*_*fif 5

您需要一个投影,而不是框阴影:

.wrapper {
  width: 200px;
  height: 200px;
  filter:drop-shadow(17px 13px 7px rgba(0,0,0,0.75));
}

.b {
  width: 200px;
  height: 200px;
  background-color: yellow;
  border: 2px solid black;


  
  -webkit-mask: radial-gradient(
    circle at center top,
    transparent 30px,
    black 31px
  ) top / 100% 51%, 
  radial-gradient(
    circle at right bottom,
    transparent 30px,
    black 31px
  ) right bottom / 51% 51%, 
  radial-gradient(
    circle at left bottom,
    transparent 30px,
    black 31px
  ) left bottom / 51% 51%;
  
  -webkit-mask-repeat: no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
  <div class="b"></div>
</div>
Run Code Online (Sandbox Code Playgroud)