Почему вы используете HTML / CSS шириной 99,9% вместо 100%?
Вопрос
Я видел многие разработчики, написанные HTML или CSS встроенные ширины стиля 99,9% в местах, где я бы использовал 100%. Есть ли действительная причина использования 99,9%? Есть ли у него эффективная разница от 100%?
Отредактируйте для ретвидвидных MSALTERS Очень хороший вопрос: Considering that 99.9% is one pixel off above 500 pixels, why not 99.99%?
Я думаю, он прав, что если вы идете с dirty hack
Вы должны использовать 99,99%, кто-нибудь не согласен?
Дополнительные ссылки:
- @Michael Stum's комментарий о свойстве CSS ZOOM привел меня к этой интересной ссылке о запусках HASLAYOOT с
zoom
: http://www.bennadel.com/blog/1354-the-power-of-zoom-fixing-css-issues-in-ininteret-explorer.htm.. - @Andrew dunn предложил эту невероятно всеобъемлющую ссылку на haslayout: http://www.satzansatz.de/cssd/onhavinglayout.html.
Решение
То hasLayout
имущество
Это грязный взлом, используемый для установки конкретного hasLayout
Свойство элемента к true. То hasLayout
Свойство «Определяет, как элементы рисовать и связаны с их содержанием, взаимодействуют и относятся к другим элементам, и взаимодействуют и передают приложение / пользовательские события». Давая элемент layout
Это простой способ исправить множество ошибок, связанных с макетами, которые появляются в Internet Explorer.
Что с 99,9%?
Установка ширины до 99,9% - один из способов запуска его. Причина, по которой вы будете использовать 99,9%, потому что макет дается элементу, если его width
установлен на что-нибудь, кроме auto
. Отказ Установка его до процента предотвращает необходимость использовать фиксированную ширину.
После некоторого тестирования в JsFiddle я пришел к выводу, что на самом деле не нужно использовать ширину 99,9%, используя ширину 100% так же эффективно. http://jsfiddle.net/3qfjw/2/ (То есть только). Похоже, что настройка width
до 99,9%, возможно, Общее заблуждение который застрял .. Распространите слово людей.
Другие методы
Вы также можете вызвать 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. (Это на самом деле отличное чтение, много подробной информации)
Другие советы
Это верно width
чего-либо но auto
а также zoom
триггер Haslayout, а также zoom
Является ли более гибкое свойство / значение, поскольку оно не связывается с шириной, но я не думаю, что это причина, по которой вы видели, что разработчики используют 99,9%.
В некоторых плавающих случаях необходимо, чтобы объединенная ширина поплавков не добавляет до 100% (если она указана в процентах), потому что IE6 неправильно рассчитывает, что как за пределами 100% и обычно последних капель.
Решение состоит в том, чтобы либо указать правую маржу A -1PX только для IE или сделать сумму 99,99%.
Я документировал ошибку здесь. Отказ Так будто ли это связано или нет к тому, что вы видели, надеемся, что ссылка на ошибку поможет кому-либо испытывать его.