我在向多边形的右边框添加框阴影时遇到问题,如下图所示:
我想在下面的图片中看到红线所在的阴影:
我这样做的形状很简单:
HTML:
<div class="shape">
....
</div>
CSS:
.shape {
background: url(img/1.jpg);
border-top: 400px solid transparent;
border-right: 40px solid #ffffff;
}
我没有使用 clip-path ,因为它与IE不兼容,你必须做一些额外的设置才能使它在 Firefox 和其他一些浏览器上运行我想保持简单,所以我采用了简单的方法。但我面临的问题是只使用 CSS 在右上角添加阴影。那有什么解决方案吗?或者我必须使用 clip-path 才能在右上角添加阴影?
答案 0 :(得分:3)
如果你能承受到图像稍微旋转......(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);
}
&#13;
<div class="rightDiagonal">
<img src="http://placehold.it/100x180/0ba">
</div>
&#13;
如果没有,那么你需要一个复杂的附加层(<div>
),其中最外层的div是包装器,内部div具有阴影并且处于4deg
度如果使用-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);
}
&#13;
<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>
&#13;
答案 1 :(得分:-2)
试试这个CSS:
#shadow-div{
margin-right:20px; /* Set to 0 if you don't want shadow at the right side */
margin-left:0px; /* Set to 20px if you want shadow at the left side */
margin-top:0px; /* Set to 20px if you want shadow at the top side */
margin-bottom:0px; /* Set to 20px if you want shadow at the bottom side */
box-shadow: 0px 0px 20px black;
background: url(img/1.jpg);
border-top: 400px solid transparent;
border-right: 40px solid #ffffff;
}