Можно ли дать <html>фоновое изображение в CSS? - PullRequest
4 голосов
/ 29 ноября 2011

Или это какая-то плохая практика по какой-то причине?

Большое спасибо!

Ответы [ 5 ]

4 голосов
/ 29 ноября 2011

Я бы просто добавил его к элементу тела, вы получите тот же эффект. Или, если вы смотрите на двойные фоны, вы можете посмотреть на компонент CSS3, чтобы иметь возможность использовать эту функцию. (Хотя не совместим со всеми версиями браузера)

2 голосов
/ 29 ноября 2011

По моему мнению, html - намного лучшее место для фона, чем тело. Рекомендация W3C отличается. Я думаю, что это связано с совместимостью с очень старыми браузерами, такими как Internet Explorer 5.5, Netscape Navigator 4 или чем-то гораздо более экзотическим. В любом случае оба места действительны.

http://www.w3.org/TR/2011/REC-CSS2-20110607/colors.html точка 14,2
http://www.w3.org/TR/2011/CR-css3-background-20110215/ точка 3,11

Есть небольшая причудливость.

  1. Если вы устанавливаете фон в конце тела, а не в HTML, браузеры интерпретируют это как фон в HTML, а не в теле.
  2. Если вы установите фон в html, все будет работать как положено.
  3. Если вы установите фон для html и body, вы, вероятно, увидите, что поле body меньше, чем поле html.
2 голосов
/ 29 ноября 2011

Учитывая ваш вопрос ...

Это плохая практика.

Фон к всему телу страницы должен быть применен к тегу body:

body { background-image:url('sunny.gif') }

Это лучшая практика.

Просто обратите внимание, что если изображение выИспользуется меньше, чем экран, это будет повторяться!

Обычно рекомендуется также указать соответствующий цвет фона, так как он появится сразу (а затем будет заменен).

body { background-image:url('sunny.gif'); background-color:#b0c4de; }

Также ярлык:

body { background: #b0c4de; url('sunny'.jpg) } # could also add repeat/scroll/top

Вот полный список для фона:

  • background-attachment
  • background-color
  • background-image
  • background-position
  • background-repeat

Хорошие записи по адресу: http://www.beginnersguidetohtml.com/references/css

0 голосов
/ 29 ноября 2011

W3C Schhols говорит, что он недействителен:

Базовые атрибуты Недопустимо в элементах base, head, html, meta, param, script, style и title.

И список этих недопустимых атрибутов - найти здесь

Любая причина, по которой вы не указываете <body> атрибут style?

0 голосов
/ 29 ноября 2011

Я не думаю, что это проблема.Это работает в старых браузерах.Хотя я бы порекомендовал вам не добавлять много других стилей в тег html, он, как правило, немного противоречив в разных браузерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...