CSS阴影属性未显示在多边形对象上

时间:2019-01-09 17:32:10

标签: html css

我正在尝试使用clip-path: polygon CSS属性设置的div样式。我想给它一些阴影,使它看起来有点三维。

问题是shadow属性不起作用。当我在浏览器中检查元素时,阴影的CSS代码显示为灰色。

我试图通过以下方式使阴影消失,但没有一种起作用

  • box-shadow: 0 -2px 2px 0 rgba(0, 0, 0, 0.14), 0 -3px 1px -2px rgba(0, 0, 0, 0.12), 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
  • filter: drop-shadow(0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2));
  • filter: box-shadow 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);

以下是HTML代码:

 <div id="first" class="row">
            <div class="container-fluid">
...some content inside...
</div>
</div>

和SCSS代码:

#first {
    padding-top: 60px;
    padding-bottom: 30px;
    -webkit-box-shadow: 0 -2px 2px 0 rgba(0, 0, 0, 0.14), 0 -3px 1px -2px rgba(0, 0, 0, 0.12), 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 -2px 2px 0 rgba(0, 0, 0, 0.14), 0 -3px 1px -2px rgba(0, 0, 0, 0.12), 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
    .container-fluid {
      background: red;
      clip-path: polygon(0 0%, 100% 0%, 100% 88%, 0 100%);
    }
  }

2 个答案:

答案 0 :(得分:3)

尝试使用filter: drop-shadow()

#first {
  padding-top: 60px;
  padding-bottom: 30px;
  filter: drop-shadow(4px 4px 1px rgba(0, 0, 0, 0.3));
}

#first .container-fluid {
  background: red;
  clip-path: polygon(0 0%, 100% 0%, 100% 88%, 0 100%);
}
<div id="first" class="row">
  <div class="container-fluid">
    ...some content inside...
  </div>
</div>

答案 1 :(得分:0)

一切正常。尝试更改h偏移,v偏移,模糊扩展,颜色

#first {
  padding-top: 60px;
  padding-bottom: 30px;
  /*-webkit-box-shadow: 0 -9px 9px 0 rgba(0, 0, 0, 0.14), 0 -3px 1px -2px rgba(0, 0, 0, 0.12), 0 -1px 5px 0 rgba(0, 0, 0, 0.2);*/
  /*box-shadow: 0 -2px 2px 0 rgba(0, 0, 0, 0.14), 0 -3px 1px -2px rgba(0, 0, 0, 0.12), 0 -1px 5px 0 rgba(0, 0, 0, 0.2);*/
  -webkit-box-shadow: 5px 10px 18px rgba(0, 0, 0, 0.14), 5px 10px 18px rgba(0, 0, 0, 0.12), 5px 10px 18px rgba(0, 0, 0, 0.2);
  box-shadow: 5px 10px 18px rgba(0, 0, 0, 0.14), 5px 10px 18px rgba(0, 0, 0, 0.12), 5px 10px 18px rgba(0, 0, 0, 0.2);
}
.container-fluid {
  background: red;
  clip-path: polygon(0 0%, 100% 0%, 100% 88%, 0 100%);
}
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css">

<div id="first" class="row">
    <div class="container-fluid">
        ...some content inside...
    </div>
</div>