Для відображення елементів і обліку їх взаємодії між собою, розробники IE впровадили в цей браузер унікальну властивість hasLayout. значенням якого виступає true або false. «Встановити hasLayout» означає поставити йому значення true. а «прибрати hasLayout» говорить про те, що ця властивість не задана або у нього значення false.
Безпосередньо задати це властивість через стилі неможливо, тому що воно розроблялося для внутрішніх цілей, фактично в CSS його немає. Але можна це зробити побічно, причому у деяких елементів воно вже стоїть за умовчанням, а в інших ні.
Елементи, у яких завжди встановлено властивість hasLayout:
- зображення (тег );
- таблиці (
), Їх рядки (
) І осередки ( . ); - лінії (
);- структурні елементи ( . );
- фрейми (
- деякі елементи форм (
- об'єкти (
- тег
hasLayout встановлюється автоматично, якщо для елемента задано одне з наступних властивостей і значень:
- display: inline-block;
- position: absolute;
- float: left | right;
- width: будь-яке значення крім auto;
- height: будь-яке значення крім auto;
- writing-mode: tb-rl
- zoom: 1.
У IE7 крім перерахованих властивостей hasLayout встановлюють наступні:
- position: fixed;
- overflow: hidden | scroll | auto;
- overflow-x: hidden | scroll | auto;
- overflow-y: hidden | scroll | auto;
- min-width: будь-яке значення крім auto;
- max-width: будь-яке значення крім auto;
- min-height: будь-яке значення крім auto;
- max-height: будь-яке значення крім auto.
Прибрати hasLayout можна додаванням до елементу одного з наступних властивостей і значень:
- position: static;
- float: none
- width: auto;
- height: auto;
- overflow: visible;
- writing-mode: lr-tb | rl-tb | bt-rl;
- zoom: normal.
Властивість hasLayout надає наступну дію на елементи веб-сторінки.
- Викликає проблеми з плаваючими елементами.
- Скасовує схлопування відступів.
- Призводить до різних проблем при відображенні списків.
- Збільшує використання пам'яті через те, що браузеру доводиться проробляти більше операцій по обчисленню розмірів і положення елементів.
- Висота шару незалежно від встановленого значення height підлаштовується під контент.
HTML5 CSS2.1 IE Cr Op Sa Fx
В даному прикладі щоб працювало властивість filter в IE6 і в IE7, додано zoom яке встановлює hasLayout.
Схожі статті
- лінії (