ie

Модель Layout

В браузерах IE (Internet Explore) в старых версиях есть модель Layout. Что это такое?

У любого элемента на странице есть свойство hasLayout. Оно либо выставлено, либо нет. Когда у элемента есть это свойство, он начинает учитывать все элементы с таким свойством. Т.е. если у меня будет несколько элементов со свойством hasLayout, одни браузеры будут вести себя одним образом, а IE старых версий начнет выстраивать эту страницу вообще по-другому, потому что эти элементы с hasLayout реагируют между собой.

Свойство hasLayout имеют следующие элементы. Это свойство у них автоматическое, его нельзя убрать.

  • html, body.
  • элементы таблицы: table, tr, th, td.
  • Все строчные элементы с замещаемым контентом: img, iframe, object, embed.
  • hr.
  • Элементы форм: input, select, textarea, fielset, legend.

Как можно задать свойство hasLayout другим элементам? См. ниже:

  • Указание высоты и ширины (width, height).
  • float любое значение тут же приведет в состояние hasLayout.
  • Правило zoom (работает только в IE).
  • Правило writing-mode.
  • Правило display:inline-block.
  • Указание минимальной и максимальной ширины и высоты (max-height, max-width, min-height, min-width) — только в IE 7.
  • overflow, overflow-x, overflow-y — только в IE 7.
  • position.

Вообще, работа модели Layout достаточно сложна. Со стороны разработчиков объяснения довольно запутаны. И в итоге в IE 8 эту модель Layout убрали.




Добавить комментарий

Ваш e-mail не будет опубликован.