Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ |
CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
---|---|---|---|
Для отображения элементов и учёта их взаимодействия между собой, разработчики IE внедрили в этот браузер уникальное свойство hasLayout, значением которого выступает true или false. «Установить hasLayout» означает задать ему значение true, а «убрать hasLayout» говорит о том, что это свойство не задано или у него значение false.
Напрямую задать это свойство через стили невозможно, потому что оно разрабатывалось для внутренних целей, фактически в CSS его нет. Но можно это сделать косвенно, причём у некоторых элементов оно уже стоит по умолчанию, а у других нет.
Элементы, у которых всегда установлено свойство hasLayout:
hasLayout устанавливается автоматически, если для элемента задано одно из следующих свойств и значений:
В IE7 кроме перечисленных свойств hasLayout устанавливают следующие:
Убрать hasLayout можно добавлением к элементу одного из следующих свойств и значений:
Свойство hasLayout оказывает следующее воздействие на элементы веб-страницы.
Пример
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Ассортиментная политика</title> <style> .shadow { background: #fc0; padding: 10px; filter: progid:DXImageTransform.Microsoft.dropshadow (OffX=5, OffY=5, Color='gray', Positive='true'); zoom: 1; /* Добавляем hasLayout */ } </style> </head> <body> <div class="shadow"> Ассортиментная политика предприятия подсознательно концентрирует конвергентный конкурент, учитывая результат предыдущих медиа-кампаний. </div> </body> </html>
В данном примере чтобы работало свойство filter в IE6 и в IE7, добавлено zoom которое устанавливает hasLayout.
Сайт