我也有這個問題。在大多數瀏覽器中都很容易,但IE8和以下版本都很棘手。
解決方案爲現代(什麼也沒IE8及以下)的瀏覽器:
#scroller_shadow {
background: url(../img/ui/shadow.png) center repeat-x;
background-size: auto 100%;
}
有jQuery插件,可以模仿背景大小IE8及以下,特別backgroundSize.js但它不工作,如果你想讓它重複。
反正就這樣開始了我的可怕黑客:
<div id="scroller_shadow">
<div id="scroller_shadow_tile">
<img src="./img/ui/shadow.png" alt="" >
<img src="./img/ui/shadow.png" alt="" >
<img src="./img/ui/shadow.png" alt="" >
...
<img src="./img/ui/shadow.png" alt="" >
</div>
</div>
確保包括足夠<img>
的覆蓋所需的區域。
CSS:
#scroller_shadow {
width: 500px; /* whatever your width is */
height: 100px; /* whatever your height is */
overflow: hidden;
}
#scroller_shadow_tile {
/* Something sufficiently large, you only to make it unreasonably wide if the width of the parent is dynamic. */
width: 9999px;
height: 100%;
}
#scroller_shadow_tile img {
height: 100%;
float: left;
width: auto;
}
不管怎麼說,這個想法是創建圖像拉伸的效果。
JSFiddle。