基本上,我想要在图像上实现一种凹陷的效果,就像这个Fiddle中的外部div所示:http://jsfiddle.net/sK5bB/32/
这是来自Fiddle的CSS(它只适用于div,而不是图像):
#outerDiv {
width:100px;
height:100px;
border-radius:5px;
box-shadow:inset 1px 1px 10px #555;
}
基本上,我想要在图像上实现一种凹陷的效果,就像这个Fiddle中的外部div所示:http://jsfiddle.net/sK5bB/32/
这是来自Fiddle的CSS(它只适用于div,而不是图像):
#outerDiv {
width:100px;
height:100px;
border-radius:5px;
box-shadow:inset 1px 1px 10px #555;
}
对于图片,您需要使用具有该box-shadow的DIV(或SPAN)元素与其重叠。
伪代码:
<common container>
<image>
<shadow>
</common container>
:after
来创建带阴影的元素:
.imageStyler{
overflow:hidden;
display:inline-block;
position:relative;
border-radius:5px;
}
.imageStyler img{
vertical-align:middle;
}
.imageStyler:after{
content: "";
position: absolute;
width: 100%; height: 100%;
left: 0; top: 0;
box-shadow: inset 1px 1px 10px #555;
}
<span class="imageStyler">
<img src="//placehold.it/100x100/f0f">
</span>
是的,遗憾的是,如果你真的考虑过这个问题:img:after
不起作用。
关于内嵌边框怎么样?JS fiddle
border:7px inset grey;border-radius:5px;
#outerDiv {
width:100px;
height:100px;
border-radius:5px;
box-shadow:inset 1px 1px 10px #555;
}
#imgimg{border:7px inset grey;border-radius:5px;}
<div id="outerDiv"></div>
<img src="http://lorempixel.com/400/200/sports/" id="imgimg"/>
background-image
代替。 - gvee