Проверено

VDS-хостинг - именно на этом хостинге работает наш сайт.
Sape - биржа временных ссылок, доход 80р/день.
Trustlink - биржа временных ссылок, доход 60р/день.
Telderi - здесь покупаю сайты для дальнейшего заработка.

Партнеры

Как бороться со всем знакомыми багами IE

Несмотря на то что я в основном пользуюсь CSS3, иногда все же возникает необходимость бороться и с Internet Explorer при создании проектов, которые обязательно должны быть кросс-браузерными.

Современные браузеры постоянно развиваются, и их баги и странное поведение исчезают в новых версиях. Но а как насчет старых браузеров, таких как IE 6/7? Так как их больше не обновляют, их баги уже воспринимают как что-то неизбежное.



Условные комментарии

<!--[if IE 6]>
        IE6 stuff
<![endif]-->
Для IE 6.

<!--[if IE 7]>
        IE7 stuff
<![endif]-->
И IE 7.

Есть еще дополнительные функции, но эти две наиболее часто используются.

Если не комментарии, то...

p
{
  color: #000;
  color : green9; /* IE8 и ниже - на всякий случай */
  *color: red; /* IE7 и ниже */
  _color: blue; /* IE6 и ниже */
}


Если вам не нравится использовать условные комментарии, то это хорошая альтернатива.

На всякий случай я добавил строку для IE8. Но если честно, с IE8 у вас будет намного больше проблем. Вам понадобится исправлять весь ваш CSS код.

Удвоенные отступы

p
{
  float: right;
  margin-right: 50px;
}


Возможно, это самый частый баг, связанный с параметром float. Для приведенного выше примера IE6 удвоит отступ справа. Чтобы это исправить, добавьте параметр display: inline, используя один из выше приведенных вариантов.

Игнорирование внутренних отступов у кнопок


IE6 и IE7 не воспринимают внутренние отступы (padding) у кнопок. Чтобы это исправить, добавьте параметр overflow: visible для нужной кнопки. Подробнее об этом можно почитать здесь.

Отрицательные значения отступов

IE6 и отрицательные значения отступов (margin) - вещи несовместимые! Чтобы их “подружить”, добавьте параметр position: relative для нужного элемента.

Нужны еще ответы?

На этом сайте опубликовано очень много самых распространенных багов IE, а также предоставлены хорошие решения проблем.

Конец


“Назывался он Internet Explorer 6. Мы живем в 2011, в эпохе современных веб-стандартов. Пришло время с ним попрощаться.”

… и я не единственный, кто с этим согласен :)

Другие новости по теме: