властивість haslayout

Для чого використовується?

Розробники Internet Explorer придумали особливу властивість, яке обробляє і оптимізує стильове оформлення для об'єктів верстки. Суть поняття цього інструменту полягає в здатності елемента визначати свої розміри і виводиться на веб-сторінці. Ця здатність була названа розробниками Layout. Таким чином, всі об'єкти верстки можна поділити на 2 групи: ті, які мають цю здатність (Layout), і ті, у яких її немає. До другої групи належать елементи, які повністю залежать від своїх батьків, іншими словами вони не відповідають за свої розміри і особливості відображення, а повністю копіюють поведінку батьківського блоку.

Як значення для hasLayout використовується всього два кодових слова: true. якщо умова має підтвердитися, або в іншому випадку false. Якщо явно значення для Вендорний властивості не вказується, то браузер спрацьовує так само, як якщо б було б прописана команда true.

Особливість застосування hasLayout не схожа на інші Вендорний властивості, його у файлі CSS застосовувати не можна, так як воно створювалося для внутрішнього використання. Однак допускається непряме застосування. Важливо знати, що можливий варіант, коли властивість прописано для об'єкта за замовчуванням.

Нижче представлена ​​таблиця, в якій вказані елементи, для яких за замовчуванням встановлений hasLayout зі значенням true.

Також hasLayout встановлюється в разі застосування наступних властивостей зі значеннями, які вказані в цьому списку.

Також слід знати, який ефект робить hasLayout на об'єкт:

  1. Робить негативний вплив на плаваючі об'єкти.
  2. Виключає процес схлопування для інтервалів між об'єктами.
  3. Списки починають конфліктувати з властивістю hasLayout.
  4. Ускладнює процес обробки ресурсу браузером через допоміжних операція розрахунку габаритних розмірів елементів.

У тій же мірі слід позначити ряд типових проблем вищезгаданого браузера, які вирішуються даним властивістю:

  • висновок контейнерів, яким притаманні властивості плаваючого елементу;
  • усуває проблеми розрахунку зовнішніх і внутрішніх відступів між батьком і його дітьми;
  • ліквідується баги блокових елементів;
  • оптимізує відображення абсолютно і відносно позиціонуються блоків.

Це тільки найважливіші проблеми, які є верхівкою айсберга. Повний перелік можна знайти на сайті розробників Internet Explorer.

Підводячи підсумок, варто відзначити важливість розуміння поняття Layout і вміння оперувати властивістю hasLayout. Дуже важливо останнє, так як в файлі CSS властивість не фігурує, а присвоюється непрямим шляхом, а саме через ті характеристики, які спочатку, відповідно до специфікації, мають здатність Layout. У той же час застосування даного властивість дозволить уникнути багатьох багів, які притаманні саме Internet Explorer. Власне, розробники компанії Microsoft впроваджували поняття Layout саме з цієї причини. Таким чином, розглядається властивість в умілих руках стане найпотужнішою зброєю в боротьбі з дивацтвами Internet Explorer.

приклад використання

Схожі статті