Ответ 1
Свойство hasLayout
Это грязный хак, используемый для установки IE определенного свойства hasLayout
элемента в true. Свойство hasLayout
определяет, как элементы рисуют и связывают их содержимое, взаимодействуют с другими элементами и взаимодействуют с ними, а также реагируют и передают события приложения/пользователя ". Предоставление элемента layout
- это простой способ исправить множество ошибок, связанных с компоновкой, которые появляются в Internet Explorer.
Что с 99,9%?
Установка ширины до 99,9% является одним из способов ее запуска. Причина, по которой вы будете использовать 99,9%, заключается в том, что макет присваивается элементу, если для его width
установлено значение, отличное от auto
. Установка его в процентах предотвращает необходимость использования фиксированной ширины.
После некоторого тестирования в jsFiddle я пришел к выводу, что нет необходимости использовать ширину 99,9%, используя ширину 100%, так же эффективно. http://jsfiddle.net/3qfjW/2/ (только для IE). Похоже, что установка width
до 99.9%, возможно, была распространенным заблуждением, которое застряло.. Распространение слова people.
Другие методы
Вы также можете запустить hasLayout
с помощью zoom: 1;
. Хотя это предпочтительный метод для многих, так как он не вовлекается в другие связанные с стилем элементы элемента, это также неверный CSS-код, который не является опцией для использования некоторыми разработчиками.
Дополнительная литература
Дополнительные методы для запуска hasLayout
: http://www.satzansatz.de/cssd/onhavinglayout.html
Для получения дополнительной информации о свойстве hasLayout
проверьте статью MSDN на hasLayout
http://msdn.microsoft.com/en-us/library/bb250481(VS.85).aspx (это действительно замечательный, много подробной информации)