これは、現在のCSSルールでは不可能です。1回繰り返すことも、永久に繰り返すこともできます。別の方法は、CSS(ページをロードする前の幅がわかっている場合)またはJS(知らない場合)のいずれかで最も近い繰り返しポイントに合うように、含む要素のサイズを縮小することです。
jQueryを使用した後者の意味は次のとおりです。
var $container = $("#container");
var bgImg = extractUrl($container.css("background-image"));
var $img = $("<img />", { "src" : bgImg }).hide().appendTo("body");
$container.width(nearest($("#container").width(), $img.width()));
$img.remove();
function extractUrl(input) {
// remove quotes and wrapping url()
return input.replace(/"/g, "").replace(/url\(|\)$/ig, "");
}
function nearest(n, v) {
n = n / v;
n = Math.floor(n) * v;
return n;
}
フィドルの例