CSS多边形阴影

Cai*_*ifa 5 css svg clipping shadow css3

我正在使用该clip-path属性来塑造我的块元素。

clip-path: polygon(0 0, 100% 0, 100% 100px, 50% 100%, 0 100px);
Run Code Online (Sandbox Code Playgroud)

我想在该元素中添加一个“阴影”。因此,我尝试了一些技术,例如:

box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.5);
Run Code Online (Sandbox Code Playgroud)

要么...

filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.5));
Run Code Online (Sandbox Code Playgroud)

在CodePen上查看我的测试环境。

CSS或SVG是否可能?

val*_*als 5

就像在评论中说的那样,您需要2个嵌套元素,内部是剪裁,外部是阴影。

body {
  background-color: gray;
}

.navigation {
  filter: drop-shadow(0 15px 30px rgba(0, 0, 200, 0.5));
}

.innernav {
  /* PATH */
  clip-path: polygon(0 0, 100% 0, 100% 100px, 50% 100%, 0 100px);
  
  
  /* OTHERS */
  background-color: silver;
  color: white;
  height: 150px;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 100;
}

.main {
  padding: 200px 20px 0;
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
<nav class="navigation"><div class="innernav">Hi, I'm a nav.</nav></div>

<main class="main">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates quia velit modi veniam! Velit fuga facilis blanditiis iure aperiam cumque quasi officia quaerat dignissimos neque repellat quisquam voluptates sequi, hic?</p>
</main>
Run Code Online (Sandbox Code Playgroud)