解決しようとしている問題の簡略版を作成しました。ご覧ください
HTML:
<div class="container">
<div class="bg-left">
<div class="content">
Some content here
</div>
</div>
</div>
CSS:
.container {
display: block;
height: 200px;
width: 100%;
background-color: #e2e2e2;
}
.bg-left {
background-image: url('http://i.imgur.com/hDheuGJ.png');
background-repeat:no-repeat;
background-position: 0px 0px;
width: 100%;
height: 100%;
}
.content {
width: 960px;
margin: 0 auto;
font-size: 20px;
}
JSFiddle: http://jsfiddle.net/gnPC6/
このコードには以下が含まれます。
1) 左上に配置された背景画像を含む 100% 幅の DIV (つまり、黒い三角形)
2) この div 内には、幅が 960px で中央に配置された別の div があります。一部のコンテンツはここに配置されます。
問題:ブラウザー ウィンドウの幅を変更しても、黒い三角形が左上に表示されたままになり、その結果、この画像が前景のコンテンツを覆い隠してしまいます。
したがって、私が達成しようとしているのは次のとおりです。
1) ユーザーのブラウザのサイズが 1050px 以下に変更された場合、黒い三角形の Background-POSITION は、ブラウザのサイズが変更されるほど黒い三角形が見えにくくなるように調整されます (つまり、背景画像が画面から動的にスライドします)。左の方です)...
ユーザー ウィンドウが 1051px 以上の場合、背景の位置は 0px 0px のままにする必要があります。
ユーザーのウィンドウが 1050px の場合、background-position は 0px -1px にする必要があります。
ユーザーのウィンドウが 1049px の場合、background-position は 0px -2px にする必要があります。
ユーザーのウィンドウが 1048px の場合、background-position は 0px -3px にする必要があります。等
これは本質的に私が達成しようとしていることですが、これを解決するためにJavascriptをどこから始めるべきかわかりません。
何か提案があれば教えてください。どうもありがとうございました。
EDITメディア クエリは知っていますが、この問題を効果的に解決できるとは思いません。ブラウザーの幅に基づいて CSS を変更するだけではなく、ブラウザーのサイズが変更されると、背景の位置が動的に変化するようにします。これには、何百もの @media 宣言ではなく、javascript ソリューションが必要であると確信しています。