【发布时间】:2025-12-27 15:15:13
【问题描述】:
我想在skyblue 所在的元素上挖一个洞,这样我就可以看到背景。我似乎无法弄清楚如何做到这一点。我已经看到它完成了,但我无法使用圆锥梯度复制它。
这是我到目前为止所得到的。我试图制作skyblue transparent,但这只是显示了圆锥梯度。
.container { width: 200px; }
.spinner {
height: 0px;
width: 100%;
padding-bottom: calc(100% - 20px);
margin: 0;
background: radial-gradient(circle at center, skyblue 54%, transparent 54.8%),
conic-gradient(from 0deg at center, transparent 45deg, orange 360deg);
clip-path: circle(46% at center);
}
<div class="container">
<div class="spinner"></div>
</div>
我也尝试过使用:after 伪选择器,但没有奏效:
.spinner:after {
content: '';
background: green;
clip-path: circle(50px at center);
width: 168px;
height: 168px;
}
【问题讨论】:
-
将 display: 块添加到您的后选择器。
-
这样做确实使 :after 工作,但它并没有按我预期的方式工作。它只显示颜色,如果我使用透明,它会显示下面的颜色。
-
我想你可以用developer.mozilla.org/en-US/docs/Web/CSS/clip-path滚动到底部,你会看到一个穿过#cross svg中定义的图像的十字架。您可以定义一个圆形 svg 并这样做。另请参阅*.com/questions/22531861/… 在这里完成
标签: css