css三角形上的box-shadow无法正常工作

时间:2014-01-19 12:07:15

标签: css css3

似乎无法在我的css三角形上应用阴影?其他示例工作,因为他们的标记是不同的。

div:before{  
    content: "";
   width: 0;
   height: 0;
   position: relative;
   top: 15px;
   border-style: solid;
   border-width: 12px 12px 0 12px;
   border-color: #000 transparent transparent transparent;
   -webkit-transform: rotate(270deg); 
    -webkit-transform-origin: 50% 50%;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
    box-shadow: 0 1px 2px #000;
}

http://jsfiddle.net/2dmJp/2/

2 个答案:

答案 0 :(得分:8)

您可以使用过滤器:

    div {
      width: 0; 
      height: 0; 
      border-left: 20px solid transparent;
      border-right: 20px solid transparent;
      border-top: 20px solid #f00;
      -webkit-filter: drop-shadow(0 1px 2px #000);
      filter: drop-shadow(0 1px 2px rgba(0,0,0,0.1));
    }

http://jsfiddle.net/Rn37T/1/

IE9及更早版本不支持。

答案 1 :(得分:2)

使用transform rotate的跨浏览器解决方案: codepen.io/ryanmcnz/pen/JDLhu