Спецификация блочной модели W3C CSS 2.1 гласит, что ширина элемента не включает поля, границы или отступы.
Фактически, указав свойства ширины или высоты CSS, вы указываете пространство, доступное для содержимого поля (которое в спецификации называется область содержимого ), которое не включает отступы, поля или границы.
Посмотрите на этот пример:
div { width: 100px; padding: 10px; margin: 20px; border: 2px; }
Расстояние между вертикальными границами (включая их) равно width + padding-left + padding-right + border-right-width + border-left-width.
Поля находятся за пределами границы.
Ширина (в соответствии со спецификациями CSS) составляет 100 пикселей.
Internet Explorer отображает веб-страницы в Стандартном режиме или в Режиме причуд .
Если вы хотите, чтобы IE вел себя так, как должен (с соблюдением стандартов CSS), вы должны заставить его использовать Стандартный режим , используя один из DOCTYPE, описанных в этой статье: http://www.alistapart.com/articles/doctype/
Эта техника называется переключатель типа .
Firefox и большинство других браузеров следуют стандартной блочной модели.
Вы можете прочитать спецификацию коробочной модели W3C здесь: http://www.w3.org/TR/CSS21/box.html#box-dimensions
Но я предлагаю вам прочитать более простую (но действительно хорошую) статью, подобную этой: http://reference.sitepoint.com/css/boxmodel
Следует также отметить, что спецификации CSS 3 будут включать свойство box-sizing
, которое позволит указывать для каждого элемента способ интерпретации свойства width
(поэтому, если исключить или включить заполнение) и границы).
В любом случае большинству браузеров потребуются годы, чтобы реализовать новые (и еще не завершенные) спецификации CSS 3.