Спецификация блочной модели W3C CSS 2.1 говорит, что ширина элемента не включает поля, границы или отступы.
На самом деле, указывая свойства ширины или высоты CSS, вы указываете пространство, доступное для содержимого блока (которое в спецификации называется областью содержимого), которое не включает отступы, поля или границы.
Посмотрите на этот пример:
div { width: 100px; padding: 10px; margin: 20px; border: 2px; }
Расстояние между вертикальными границами (включая их) равно ширине + 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.
person
Andrea Zilio
schedule
19.01.2010