Простою мовою про нескладних речах властивість haslayout

Метою даної статті не буде подача читачеві 100% вичерпних фактів, правил, визначень, причин появи і способів усунення багів, пов'язаних з властивістю hasLayout, так як така інформація вже давно існує, і посилання на неї наведені в кінці поста.

Навпаки, в даній статті ми розглянемо властивість hasLayout з практичного боку, подивимося на нього виряченими очима приголомшеного кодера після того як, зверстати сайт на основі плаваючої (float) моделі для gecko та інших нормальних браузерів, він відкрив його в IE6)).

Отже, почати варто з того, що властивість hasLayout - рідне властивість (прикол дрібном'який програмістів, помилка їх генетичних експериментів) браузера Internet Explorer!

Тобто, якщо ви, як повністю поважає себе кодер, вирішили, що ТАКИЙ браузер як IE не варто вашого дорогоцінного уваги і нервів, щоб під нього верстати - то можете спокійно закривати вкладку і шукати в Інтернеті статті про те, як вирівняти вміст комірок таблиці по вертикалі.

Якщо ж ви все-таки ставитеся до меншості, що з'явився, вважаю, з першою версією IE і званому «верстальник розумний» ( «html-coder erectus» або якось так в переводі з латині) - продовжимо.

Як говориться в перекладі офіційної статті про цю властивість: hasLayout - властивість «позиціонування», яке є пріоритетним властивістю IE / win і визначає, як елементи на сторінці взаємодіють між собою (розраховуються), реагують на події, промальовувалися.

Чим нам цікаво це властивість? Та тим, що завдяки його правильному застосуванню можна виправити абсолютна більшість багів браузера Internet Explorer! До того ж це часто допомагає вирішити проблеми з використанням float-моделі для IE6 (в IE7 з нею теж далеко не все гладко, але вже цілком стерпно), а хіба не про це мріє кожен кодер ?!

Властивість hasLayout присвоєно деяких елементів документа за замовчуванням:

  • ,
  • , ,
    ,

  • ,