向使用径向渐变创建的蒙版图像添加边框

Adding a border to a mask image created with a radial gradient

我有一个透明的径向渐变,我将其用作遮罩图像,以便在 div.

中“切出一个半圆形状的孔”

我正在使用透明的径向渐变,因为我希望“洞”成为一个真正的“洞”(意思是,我希望能够看到 div“背后”的内容).

演示:

div {
  width: 200px;
  height: 200px;
  background-color: green;
  border: 2px solid black;
  
  -webkit-mask-image: radial-gradient(
    circle at center top,
    transparent 30px,
    black 31px
  );
}
<div>

</div>

如何为半圆形添加边框(假设为“2px 纯黑色”)?

使用相同的 radial-gradient:

添加渐变色

div {
  width: 200px;
  height: 200px;
  background: 
     radial-gradient(
      circle at center top,
      transparent 30px,
      black 30px 32px,
      green 33px
    ) border-box;
  border: 2px solid black;
  
  -webkit-mask-image: radial-gradient(
    circle at center top,
    transparent 30px,
    black 31px
  );
}
<div>

</div>