hasLayout

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 оказывает следующее воздействие на элементы веб-страницы.

Пример

HTML5CSS2.1IECrOpSaFx

<!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.