これについて同様の質問が寄せられていることは知っていますが、それらからアドバイスを受けて何かを機能させることができませんでした。このトピックに関する多くのアドバイスは、ページ全体の背景画像を作成することにも向けられていますが、これは私がやろうとしていることではありません.
特定の div に合わせて背景画像を水平方向に引き伸ばそうとしています。div 自体には、背景の上に表示する必要があるコンテンツを含む子 div が含まれています。
次のようなhtmlがあります。
<div class="parent">
<div class="child">
<h3>My Header</h3>
<p><a href="another.html">A link</a></p>
<p>Some content</p>
</div>
</div>
css は次のようになります。
.parent{
width: 100%;
height: 145px;
float: left;
clear: both;
background: url(../img/parent-bg.png) top left no-repeat;
}
.child{
width: 960px;
height: 80px;
margin: 0 auto;
text-align: center;
}
parent-bg.png には左から右へのグラデーション塗りつぶしがあり、60 x 142 ピクセルです。そのため、repeat-x を使用するだけでなく、親 div に合わせて引き伸ばしたいのです (グラデーションが繰り返されると奇妙に見えます)。
CSS3 の background-size:cover プロパティは、私が望んでいることを正確に実行しますが、もちろん 9 より古いバージョンの IE では機能しません。
この jquery プラグインを使って簡単に試してみましたが、うまくいきませんでした: https://github.com/louisremi/jquery.backgroundSize.js#readme。とにかく、スタイルプロパティをjavascriptに埋め込むことにあまり熱心ではありません。これは「クイックプレイ」にすぎません。