我正在尝试向六边形添加阴影clip-path。由于通常的box-shadow( 和filter:drop-shadow()) 不适用于剪辑路径,因此我尝试在下面使用更大的伪元素来伪造效果。该方法取自此处,在一个更简单的示例中效果很好:
body {
background-color: gray;
}
.rectangle {
margin: 10%;
position: absolute;
background: white;
width: 80%;
padding-top: 25%;
}
.rectangle::before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
filter: blur(10px) brightness(20%);
transform: scale(1.1);
z-index: -1;
background-color: black;
}Run Code Online (Sandbox Code Playgroud)
<div class="rectangle">
</div>Run Code Online (Sandbox Code Playgroud)
然而,对剪切路径六边形使用完全相同的方法会失败。这个粗略的草图显示了所需的效果:
相反,我得到:
body {
background-color: gray;
}
.hexagon {
width: 20%;
padding-top: 25%;
-webkit-clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, …Run Code Online (Sandbox Code Playgroud)