Мой предыдущий ответ не дает желаемого эффекта, так как я неправильно понял вопрос. Однако у меня работает следующее:
<html>
<head>
<title>Background to fit screen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html {height:100%;}
body {height:100%; margin:0; padding:0;}
#bg {position:fixed; top:0; left:0; width:100%; height:100%;}
#fg {position:relative; z-index:1;}a
</style>
</head>
<body>
<div id="bg">
<img class="stretch" src="background_1200x800.jpg" width="0" height="0">
</div>
<div id="fg">
<p>content goes in the `fg` div.</p>
</div>
<style type="text/css">
#bg img {width:100%; height:100%;}
</style>
</body>
</html>
Я проверил это в FF3.5 (в Vista), желаемый эффект (без фонового изображения) достигается, когда я использую расширение Web Developer для отключения всех стилей. Со стилями на весь view-порт накрывается фоновое изображение, а содержимое находится поверх изображения.
Я также быстро взглянул на IE7 (в Vista) и Chrome (в Vista), и оба показали изображение, покрывающее весь видовой экран с содержимым, расположенным сверху. Я не тестировал отключение стилей в браузере, кроме FF3.5.
Я понятия не имею, является ли второй элемент стиля в теле допустимым или считается хорошей идеей или мерзостью