画像にボックス シャドウ インセットを設定したいと思います。これは画像では不可能なので、回避策をグーグルで検索したところ、これがその1つとして見つかりました: JsFiddle
問題は、スパンが画像を適切にラップしていることですが、画像にマージンやパディングを含むスタイリングがある場合、例でわかるようにスパンが画像に収まらないことです。
では、余白の空白なしでスパンが常に画像をラップするようにするにはどうすればよいでしょうか? これを行うためのより良い方法があれば、私に知らせてください。
CSS
.image-wrap {
position: relative;
display: inline-block;
max-width: 100%;
vertical-align: bottom;
}
.image-wrap:after {
content: ' ';
width: 100%;
height: 100%;
position: absolute;
top: 0px;
left: 0px;
box-shadow: inset 0px 0px 0px 5px red;
}
.image-wrap img {
width:300px;
margin-left:150px;
}
Jクエリ
$('img').each(function() {
var imgClass = $(this).attr('class');
$(this).wrap('<span class="image-wrap ' + imgClass + '" style="width: auto; height: auto;"/>');
$(this).removeAttr('class');
});