IE hack - <!–[if IE]> + CSS fix

Многие веб разработчики наверное сталкивались с проблемой некорректного отображения данных в InternetExporer и пытались её решить. Я предлагаю вам 2 очень варианта решения таких проблем, которые значительно облегчат жизнь html кодеров.

IE fix или IE hack

Сам Microsoft вшил в Explorer данный хак, хотя лучше бы они новый браузер разработали :), но и на том спасибо.
Суть веб дизайн хака заключается в том, что можно без JavaScript заставить Explorer обрабатывать определенный участок кода, причем все остальные браузеры будут считать его комментарием.

Данный хак блок выглядит так
<!--[if IE]>
ВАШ КОД
<![endif]-->

Структура заголовка блока
<!--[if УСЛОВИЕ IE ВЕРСИЯ]>

УСЛОВИЕ может быть таким:

  • lt - менее
  • lte - менее или равно
  • gt - более
  • gte - более или равно

ВЕРСИЯ - версия интересующего вас браузера

Например для хака IE только версии 5.5 мы должны написать
<!--[if IE 5.5]>

Для хака всех IE меньше или равных 7
<!--[if lte IE 7]> или <!--[if lt IE 8]>

Рабочий пример:
<!--[if lt IE 8]>
<script>
alert("Ваш браузер не соответствует современным стандартам интернета")
</script>
<![endif]-->

CSS fix

Можно очень сдорово сыграть на том, что IE толком не поддерживает спецификацию CS. По крайней мере в версиях до 7 это работает точно.

А использовать мы будем такую фичу, как !mportant

Фикс выглядит очень просто
div.some-class {
width: 120px !important;
width: 119px;
}

Получается, что для всех нормальных браузеров параметр с  !mportant является более важным, чем последующий, а для IE нет. Таким образом в IE ширина будет 119px, а в других браузерах 120px.

Оставить комментарий

Comment spam protected by SpamBam