cтоит обратить внимание на свойство background-size.
http://www.w3.org/TR/css3-background/#the-background-sizeна сегодняшний день его понимают, скажем так, далеко не все браузеры.
Но для непонимающих можно и какой-нибудь обходной манёвр совершить, типа создать скриптом элемент <img> по размеру окна, и поместить его z-index'ом под текст страницы.
Вот примерно так можно осознать, понимает ли браузер свойство:
var isBackgroundSizeSupported = function () {
var s = document.documentElement.style;
return typeof s.BackgroundSize === "string";
};
Плюс подхода в том, что в коде html красота и чистота.
Минус — при выключенном яваскрипте в старых браузерах картинка не появится. На мой взгляд минусом можно смело пренебречь.