Как последовательно установить background-image для элемента HTML - PullRequest
1 голос
/ 20 января 2011

Я говорю о самом элементе <html>, кажется, работает в большинстве браузеров, но IE7 / 8 не хочет играть. Причина, по которой я это делаю, заключается в том, что моя рутинная работа заключается в создании темы веб-вывода RoboHelp, в котором используется миллион кадров - мне нужно установить фоновое изображение самого верхнего набора фреймов, в противном случае положение фона не выравнивается, когда вложенный кадр вызывает вертикальный ScrollBar.

Я также пытался применить height:100%; к элементу <html>. Решение должно работать в IE6 +. Javascript следует избегать.

EDIT:

Пояснение: я применяю style="background: transparent url(image.gif) left top no-repeat;" к элементу html через блок стиля в заголовке (все динамично, это мой единственный доступный метод доступа к элементу html).

Боже мой, только что проверил это на базовой странице - отлично. Замените тег body на набор фреймов, как в моей ситуации, и теперь изображения не отображаются. Это похоже на IE-frameset, какие-либо предложения?

Ответы [ 2 ]

1 голос
/ 20 января 2011

Не уверен, что полностью понимаю вашу проблему.Но применение height к элементу HTML - это определенно нет-нет.Вы можете применить фон непосредственно ко всей странице, используя селектор HTML

html { 
        background-image: url("../images/background_image.png"); 
     }

Подсказка: «..» в приведенном выше примере перемещается в предыдущий веб-каталог.Знайте свою файловую структуру.

0 голосов
/ 20 января 2011

Я думаю, вы должны использовать CSS вместо тега фонового изображения HTML.Фоновое изображение в HTML теперь устарело (устарело и не рекомендуется) W3C.

Примерно так:

<html class="imageBox">
<style type="text/css">
.imageBox {
  width:300;
  height:100;
  background: url("/foobar.gif") #ff9900 90% 30% no-repeat fixed
}
</style>
<p>This div element has a background-image.</p>
</html>
...