html – 多边形右边框上的框阴影?

我在向多边形的右边框添加框阴影时遇到问题,如下图所示:

《html – 多边形右边框上的框阴影?》

我想在下面的图片中看到红线所在的阴影处添加阴影:

《html – 多边形右边框上的框阴影?》

我这样做的形状很简单:

HTML:

<div class="shape">
   ....          
</div>

CSS:

.shape {
   background: url(img/1.jpg);
   border-top: 400px solid transparent;
   border-right: 40px solid #ffffff;
}

我没有使用剪辑路径,因为它与IE不兼容,你必须做一些额外的设置才能使它在Firefox和其他一些浏览器上工作,我想保持简单,所以我采用了简单的方法.但我面临的问题是只使用CSS在右上角添加阴影.那有什么解决方案吗?或者我将不得不使用剪辑路径以向右角添加阴影?

最佳答案 如果你能承受到图像稍微旋转……(4度)

.rightDiagonal{
  display:inline-block;
  overflow:hidden;
  padding-right:35px;
}

.rightDiagonal img{
  -webkit-backface-visibility: hidden;
  transform: rotate(4deg);
  -webkit-transform: rotate(4deg);
  -ms-transform: rotate(4deg);
  
  margin:-15px;
  box-shadow: 16px 0 25px -20px rgba(0,0,0, 1);
}
<div class="rightDiagonal">
<img src="http://placehold.it/100x180/0ba">  
</div>

除此以外…

如果没有,那么你需要一个复杂的附加层(< div>),其中最外层的div是包装器,内部div具有阴影并且与内部图像相比,如果使用0还原为0 -4deg

.rightDiagonal{
  display:inline-block;
  overflow:hidden;
  padding-right:15px;
}
.rightDiagonal div {
  display:inline-block;
  overflow:hidden;
  margin: -15px 0 -15px -15px;
  -webkit-backface-visibility: hidden;
  transform: rotate(4deg);
  -webkit-transform: rotate(4deg);
  -ms-transform: rotate(4deg);
  box-shadow: 16px 0 25px -20px rgba(0,0,0, 1);
}
.rightDiagonal img{
  margin-right: -15px;
  transform: rotate(-4deg);
  -webkit-transform: rotate(-4deg);
  -ms-transform: rotate(-4deg);
}
<div class="rightDiagonal">
  <div><img src="http://placehold.it/100x180/0ba"></div>
</div>


<div class="rightDiagonal">
  <div><img src="http://placehold.it/170x200/a0b"></div>
</div>
点赞