Блочная модель в IE6 | решаем проблему с размерами блоков для IE6

Блочная модель в IE6 Дата публикации: 09.01.2009 ...

Дата публикации: 09.01.2009

Последнее обновление: 15.02.2009

Проблема

В IE6 блок имеет не такие размеры как в других браузерах при равном значении width (height). Эта осообенность наблюдается в режиме обратной совместимости.

Теория

Модель вычисления ширины (высоты) блока согласно стандартам консорциума W3C является суммой width (height), padding и border.

Блочная модель по стандартамПо стандартам width — ширина содержимого блока Блочная модель в ИЕ6В ИЕ6 width — ширина всего блока

css код для браузеров, поддерживающих стандарты


.block {
width: 200px; /* ширина содержимого */
height: 200px; /* высота содержимого */
padding-left: 20px; /* отступы внутри блока */
padding-right: 20px;
padding-top: 20px;
padding-bottom: 20px;
border-left: 20px; /* бордюры */
border-right: 20px;
border-top: 20px;
border-bottom: 20px;
}

Итого ширина и высота блока составит
width+padding-left+padding-right+border-left+border-right=200+20+20+20+20=280px.
Высота вычисляется аналогично.

В IE6 ширина вычисляется иначе — это ширина всего блока. Поэтому width и height должны быть равными 280px.

Решение

Для IE6 задаем отдельно размеры блоков:


.block {
width: 200px; /* ширина блока */
height: 200px; /* высота блока */
padding-left: 20px; /* отступы внутри блока */
padding-right: 20px;
padding-top: 20px;
padding-bottom: 20px;
border-left: 20px; /* бордюры */
border-right: 20px;
border-top: 20px;
border-bottom: 20px;
}
* html .block {
/* хак для IE6 */
width: 280px; /* ширина блока для IE6 */
height: 280px; /* высота блока для IE6 */
}

Или значения для IE6 можно вынести в отдельный CSS файл.

Теги:
Показать комментарии

Смотрите также в этом разделе

Смежные материалы, которые могут быть вам полезны

  • HasLayout | знакомимся, управляем, применяем
  • Max-width для IE6 | описание 2-х способов
  • Min-height для IE6 | без использования expression
  • Min-width для IE6 | описание 4-х способов
  • Min-width и max-width одновременно для IE6 | описание 2-х способов
  • PNG и прозрачность в IE6 | 4 метода | обход проблем
  • position:fixed для IE6 | описание 4-х способов
  • Высота блока 1px для IE6 | решаем проблемы с блоками небольшой высоты
  • Для IE6 устраняем flickering — обращение к серверу при наведении на элемент
  • Дублирование символов в IE6
  • Дырка под футером при показе блока в IE 6
  • Как перекрыть поверх слоем select в IE6
  • Как перекрыть поверх слоем select в IE6
  • Обрезка контента c отрицательным margin в IE6
  • Отступы плавающих блоков в IE6 | решаем проблему с большим отступом у плавающих блоков
  • Псевдокласс :first-child для ИЕ6
  • Псевдокласс hover в IE 6
  • Селектор потомков > для IE6
  • Селекторы атрибутов [type=…] в ИЕ6
  • Сестринский селектор для IE6
  • Ссылки с вложением
  • Убираем смещение на 1px в IE6 для right:0 и bottom:0