#css #html
#css #HTML
Вопрос:
На моем веб-сайте с фиксированной шириной у меня макет, похожий на этот:
<div id="wrapper">
<header>...</header>
<div id="content">...</div>
<footer>...</footer>
</div>
И мой CSS похож на этот:
#wrapper {
width: 700px;
margin-left: auto;
margin-right: auto;
}
Стилизация <body>
тега таким же образом также работает, и это делает мой код более читаемым, поскольку у меня меньше вложенных <div>
тегов.
Является ли применение полей и исправленного с к <body>
безопасной идеей?
Комментарии:
1. это «безопасно», но веб-сайты фиксированной ширины не очень хорошо используют medium IMO.
2. Это действительно зависит от того, о каком типе оформления вы говорите. Если вы говорите о цвете фона, то обязательно сделайте это с телом. Если вы говорите о настройке ширины, то есть некоторые соображения, упомянутые ниже.
Ответ №1:
Это совершенно безопасно, body
это HTML-элемент, как и все остальные.
Для вашего макета вы все равно можете захотеть использовать #wrapper
(похоже, макет фиксированной ширины), потому что вы можете захотеть установить фон для body
(или сделать что-то с видимым «пустым» пространством).
Комментарии:
1. Вы также всегда можете установить фон для самого html-элемента.
2. @Madmartigan Спасибо, я не был уверен, что это всегда работает, все еще исследую.
3. Будет ли добавление
<html>
в этот микс менее взрывоопасным? Мне как бы интересно, что не поддается стилизации…4. @Blender: Слава богу, мы не можем оформить заголовок и объявления doctype… Я надеюсь
5. Только что нашел хороший пример размещения фонового изображения в теге HTML.
Ответ №2:
Сейчас я тестирую ширину / поля / отступы для этих элементов в IETester с помощью XHTML Strict doctype.
Пока у меня есть следующее для <body>
:
IE 5.5 — СБОЙ (ширина не устанавливается, или фон расширяется за пределы размеров), заполнение / поля в порядке
IE 6 — PASS
IE 7 — PASS
IE 8 — Соблюдает ширину, но не идеально обрабатывает отступы / поля
Страница, которую я использую здесь
Тестирование с использованием ширины и поля, примененных к html-элементу здесь:
IE 5.5 — ТО ЖЕ самое, за исключением полей / отступов, не будет работать
IE 6 — Не будет учитывать ширину
IE 7 — Учитывает ширину, но не будет центрироваться на display:block
и margin:0 auto
с шириной, установленной в px.
IE 8 — Соблюдает ширину, но не идеально обрабатывает отступы / поля
Когда для элемента html во всех случаях была установлена ширина, он фактически отображался так, как если бы это было заполнение, ограничивая элемент body.
Это было весело, но сейчас у меня кончился бензин, пора возвращаться к реальной работе 😉
Комментарии:
1. Я сомневаюсь, что многие люди используют IE 5.5, но я не знал, что это произошло с IE6 / 7 с
<html>
элементом. Мне придется поиграть с каким-нибудь сумасшедшим CSS и посмотреть, что я могу сломать…2. Да, конечно, никто не использует IE5.5, но я подумал, что это сработало в IE 5.5, мы все чувствовали бы себя в безопасности, используя его. (r)
Ответ №3:
Оформление тега body — это нормально, но это означает, что если вам когда-нибудь понадобится внести изменения на веб-сайте, у вас нет других «запасных» тегов для изменения. Тег body часто является безопасным тегом, который можно оставить для облегчения будущих изменений.
Для jcomeau_ictx: Есть миллион причин использовать веб-сайты фиксированной ширины. Я думаю, вы найдете больше сайтов фиксированной ширины, чем веб-сайтов fluid.