Похоже, все, что вам не хватает, это установить высоту тела. Добавление этого стиля работает для меня в IE 8:
html, body {height: 100%}
Итак, используя ваш стиль из скрипки, выглядело бы это так:
html, body {height: 100%}
body {
background-attachment: fixed !important;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#000000, endColorstr=#ffffff);
}
А вот так будет выглядеть кросс-браузерная версия:
html, body {height: 100%}
body {
background-attachment: fixed !important;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#000000, endColorstr=#ffffff);
background-image: -moz-linear-gradient(center top -90deg, #000000, #ffffff);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#000000), to(#ffffff));
}
Очевидно, что вы можете поместить специальный код IE в другое место и загрузить его условно и т. Д.
Это хорошо протестировано в IE 8, Firefox 3.6, Chrome 9 и Safari 5 (Webkit), но не работает в Opera Для Opera, SVG или реального фонового изображения?