有两种方法可以解决这个问题:
1)第一个是将图像包装在另一个 div 中并将阴影赋予该 div。
像这样:
<div class="shadow">
<div class="box"></div>
</div>
您可以将阴影直接应用到 .box 中,并将 box-reflect 仅赋予 .box 。
像这样(我添加了更多属性仅用于演示目的):
.box{
width:100px;
height:100px;
border-radius:10px;
background:url(../your_image.xxx) no-repeat center;
-webkit-box-reflect: below 2px
/* DEPRECATED -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.7, transparent), to(white))*/
-webkit-linear-gradient(top, transparent 0%,transparent 70% ,white 100%);
}
.shadow{
width:100px;
border-radius:10px;
box-shadow: 0px 2px 2px 0px;
}
你可以在这里看到一个工作示例
*注意 -webkit-gradient 已弃用,您应该按照 matthias.p 的建议使用 -webkit-linear-gradient
2)第二种方法是将 -webkit-box-mask-image 应用于您的反射,当然如果您想创建一个 .png 蒙版。
.box{
/*...other properties here...*/
-webkit-box-reflect: below 2px
-webkit-mask-box-image: url(mask.png) 75 stretch;
}
您可以在此处阅读有关 CSS 掩码属性的更多信息