Маржа и прокладка тега <Body>

Я пишу очень простой HTML-код, который приведен ниже. Написано в блокноте и открывается в IE-8 и Firefox (ОС: Windows Vista).

<html>
<body>
    <table border="1"><tr><td>test</td></tr></table>
</body>
</html>

В приведенном выше коде нет ничего особенного. Он создает некоторое пространство в верхнем левом углу.

enter image description here

Что можно легко удалить, используя следующий код

<body style="margin:0; padding:0">

Теперь я узнаю маржу по умолчанию и отступы, которая является 4 для Firefox и отличается для IE-8.

<body style="margin:4; padding:4">

У меня есть вопрос по этому сценарию.

  • Почему это значение равно 4?
  • Откуда это значение идет, оно где-то сохраняется?
  • Можем ли мы изменить (настраиваем) это значение по умолчанию?
  • Как эти значения отличаются для браузеров?

Спасибо.

Ответы

Ответ 1

  • Прежде всего, это, вероятно, 4px, а не 4. Во-вторых, именно так решил разработчик браузера по умолчанию.
  • Он сохраняется в таблицах стилей браузера по умолчанию.
  • Вы можете, но вы не должны. Он отличается от каждого браузера. Погугли это! How do I change default stylesheet on <insert browser here>?
  • Вероятно, есть небольшие отличия, вы можете сказать... просмотрев таблицы стилей по умолчанию:)

Это различие является одной из основных причин, по которым мы, дизайнеры, используем CSS reset, чтобы нормализовать всю неудобность CSS, которая следует за различными реализациями браузера.

Ответ 2

Браузеры имеют встроенные "нормальные значения по умолчанию" для CSS большинства элементов HTML - это просто препятствует тому, чтобы ваша страница выглядела совершенно нечитаемой, если у вас есть чистый HTML без CSS, но они, конечно, предназначены для переопределения вашим собственным CSS.

Стандарты браузера по умолчанию обычно называются "Таблица стилей User Agent" . Следующий сайт является хорошей ссылкой на различные пользовательские листы IE, которые были на протяжении многих лет, а также предоставляет для других браузеров внизу:

http://www.iecss.com/

Один из методов, который многие используют для "нормализации" значений по умолчанию, поэтому у вас есть одна и та же начальная точка во всех браузерах: "CSS Reset" - это всего лишь фрагмент CSS, который вы размещаете перед своим собственным CSS, который устанавливает все стили UA в одно и то же. Это хорошо известный:

http://necolas.github.com/normalize.css/

Ответ 3

Добавьте это поверх таблицы стилей

*{margin:0px;padding:0px;}

Это устранило все различия в заполнении и маржи в браузерах.

Ответ 4

Попробуйте это

body{
    line-height: 0
}