Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В чем разница между html и body ?
 
 автор: Владимир55   (15.03.2012 в 11:12)   письмо автору
 
 

В примерах стилей встретил такой вариант:

html {
    width:                     100%;
    height:                 100%;
    margin:                 0;
    padding:                 0;
}

body {
    margin-left:               25px;
    margin-top:                30px;
    margin-right:              20px;
    margin-bottom:             20px;
}

А в чем разница между html и body ? Это, как бы, одна территория, одна и та же площать страницы - зачем задаются отдельно разные условия?

  Ответить  
 
 автор: ЯСА   (15.03.2012 в 12:23)   письмо автору
 
   для: Владимир55   (15.03.2012 в 11:12)
 

1. <HTML>...</HTML> - это весь документ.
<BODY>...</BODY> - это часть документа, называемая телом документа.

2. В <HTML>...</HTML>, кроме тела документа <BODY>...</BODY>, входит обычно и заголовок документа - <HEAD>...</HEAD>

3. Так что "территории" - они немного разные: <BODY>...</BODY> - входит вовнутрь <HTML>...</HTML>:
-- если задать html ширину в 100%, а ширину body - 50%, то всякая длинная строка приблизительно посередине экрана обрежется и "переползёт" на следующую строку.;
-- а вот если наоборот при 100% ширины у html прописать 150% для ширины body, то появится горизонтальный скроллбар;
-- соответственно, отступы (margin и padding) - они суммируются.

4. Запустите следующий код и, надеюсь, понимание к вам придёт:
<!doctype>
<html>
<head>
<style>
html {
    width: 100%;
    height: 100%;
    border: none;
    margin: 0;
    padding: 0;
    background: silver;

body {
    width:  89%;      /* Не 90%, как вроде бы должно быть. Объяснение ниже. */
    height: 84%;      /* И здесь не 90%. См. там же. */
    border: none;
    margin: 5%;
    padding: 0;
    background: red;
}
</style>
</head>
<body>
</body>
</html>

5. "Комплектом" ширин/высот и отступов <HTML> и <BODY> для визуального оформления страниц пользуются редко, ибо неизвестно - какого размера окно откроет юзер.
Если размер будет малым, то могут появиться всякие ненужные скроллбары, толщина которых входит в ширину/высоту тега <HTML>, но не входит в высоту/ширину тега <BODY>.
И всё оформление "полетит"...
И вообще неизвестно - что там входит в ширину/высоту <HTML> и <BODY>- вроде бы всё возможное (бордеры, маргины, паддинги) обнуляешь, но при равных html, body {width: 100%} всё-равно "вылезает" горизонтальный скроллбар.
Потому я и указал в примере %% для тела документа заведомо меньшие, чтобы скроллбары не появлялись.

6. Обычно пользуются правилом html, body {height: 100%} для решения задач установления %% от высоты окна.
И совсем недавно я этот вопрос разъяснял - http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=85542


PS. Всё вышенаписанное работает во всех браузерах по умолчанию (без <!doctype>), кроме MSIE.
Тому для "нормальной работы" обязательно нужен <!doctype>.
Без <!doctype> MSIE начинает чудить непредсказуемо :-)

  Ответить  
 
 автор: Владимир55   (15.03.2012 в 13:06)   письмо автору
 
   для: ЯСА   (15.03.2012 в 12:23)
 

Спасибо!

Графический пример просто замечательный!

  Ответить  
 
 автор: ЯСА   (15.03.2012 в 13:27)   письмо автору
 
   для: Владимир55   (15.03.2012 в 13:06)
 

Надо было добавить:
<body onclick="alert ('BODY')">
<div style="position: absolute; width: 30px; height: 30px; top: 200px; left: 5px; background: yellow"></div>

<div style="position: absolute; width: 30px; height: 30px; top: 0; left: 0; background: aqua"></div><!-- Странные нули, правда? -->

<div style="position: absolute; width: 30px; height: 30px; background: violet"><!-- А здесь top и left не указаны. -->
<div style="position: relative; width: 30px; height: 30px; top: -30px; left: -30px; background: lime"></div>
</div>

<h1 style="text-align: center; padding-top: 20%">Покликай по разным цветам (включая серый)!</h1>
</body>

"Умная мысля приходит опосля"(с)

  Ответить  
 
 автор: DJ Paltus   (15.03.2012 в 12:26)   письмо автору
 
   для: Владимир55   (15.03.2012 в 11:12)
 

сотру-ка я свой нелепый ответ )

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования