あなたの画像のサイズはどうなりますか?それが非常に小さい場合、簡単な解決策はフォトショップ/ペイントでそれを行うことです。結果の画像は 4 倍大きくなりますが、小さい画像 (25ko 未満) の場合、これが最も簡単な方法だと思います。少なくとも、あなたの問題に対する簡単なCSS ソリューションは見当たりません。
画像が非常に大きく、その高さがわかっている場合は、最終的に次のアプローチを取ることができます: http://jsfiddle.net/7GPTy/
アイデアは、左の値が異なる絶対位置でいくつかのdivを作成することz-index:-1
ですheight == image_height
...私はそれを粗いが実用的な解決策と見なします
var mybody = document.getElementById('body');
var bodyHeight = mybody.offsetHeight;
var imgHeight = 49; // you could get the size by opening the file
var offsetLines = 4; // this is the number of offset you asked, but you can change that!
var nbOfLines = Math.ceil(bodyHeight/imgHeight);
for(var i=0; i<nbOfLines; i++){
var newBgDiv = document.createElement('div');
newBgDiv.className = 'backgroundImg imgOffset_'+(i%offsetLines);
newBgDiv.style.top = (i*imgHeight) + 'px';
newBgDiv.style.height = imgHeight + 'px';
newBgDiv.style.width = '100%';
mybody.appendChild(newBgDiv);
}
js コードをすばやく確認するには、基本的にページの高さを取得し、それを画像の高さで割り、背景全体を生成するために作成する必要がある div の数を把握します。完了したら、必要な異なる行オフセットの数を定義するだけで ( offsetLines
)、div を生成します。
私の例では、オフセットはウィンドウのサイズによって異なります (ウィンドウのサイズを水平方向に変更してみてください。オフセットが変化することがわかります)。もちろん、定義したピクセル数に固定することもできます!