Учебник по HTML и CSS |
|
Полезное |
Полезные советы по CSS и HTMLПочему различается явно заданная ширина слоя в разных браузерах?По спецификации CSS общая ширина слоя складывается из следующих значений: ширина контента (параметр width), толщина границ слева и справа (border), поля (padding) и отступы (margin). Для наглядности рассмотрим следующий код (пример 1). Пример 1. Слой с заданной шириной <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> В данном случае суммарная ширина слоя в пикселах равна 400 + 20 + 20 + 10 + 10 + 2 + 2 = 464 Удвоенные числа получились из-за того, что параметры margin, padding и border действуют для всех сторон элемента одновременно. Поэтому по горизонтали отступы, поля и границы добавляются сразу слева и справа. Однако в некоторых браузерах, в частности, Internet Explorer и Opera, за общую ширину слоя берется значение параметра width. Различие подходов приводит к неодинаковому отображению одного и того же документа в разных браузерах. Впрочем, подобное различие проявляется только в том случае, если не указан <!DOCTYPE>. Так что код, приведенный в примере 1, работает корректно во всех браузерах. Вывод следующий — всегда задавайте полный <!DOCTYPE> и учитывайте, что ширина слоя это не просто параметр width, а сумма значений ширины контента, отступов, полей и границ. |
При использовании материалов сайта ссылка на comnew.ru обязательна! |