1 つの解決策は、ぼかしたインセット ボックス シャドウ ( https://developer.mozilla.org/en/docs/CSS/box-shadow ) を使用することです:
http://jsfiddle.net/n1ck/NkHdh/4/
#content {
width:350px;
height:350px;
background-image: url(http://placekitten.com/350/350);
-moz-box-shadow: inset 70px 0px 50px -10px white;
-webkit-box-shadow: inset 70px 0px 50px -10px white;
box-shadow:inset 70px 0px 50px -10px white;
}
グラデーションを使用する場合は、 を使用
:before
してグラデーションを背景画像に重ねることができます。そうしないと、グラデーションが表示されません。
これを実現する方法の例を次に示します:
http://jsfiddle.net/n1ck/brqcu/2/
#content {
width:350px;
height:350px;
background-image: url(http://placekitten.com/350/350);
}
#content:before {
width:350px;
height:350px;
content:'';
display:block;
background: -moz-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -o-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -ms-linear-gradient(left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1);
}