代码之家  ›  专栏  ›  技术社区  ›  weinde

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

  •  3
  • weinde  · 技术社区  · 7 年前

    clip-path: polygon CSS属性。我想给它一些阴影,使它看起来有点三维。

    问题是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);

     <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 回复  |  直到 7 年前
        1
  •  3
  •   ksav    7 年前

    试着用 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>
        2
  •  0
  •   Partho63 BASANT KUMAR    7 年前

    很好用。尝试更改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>