Как мы все знаем, Internet Explorer это тот браузер, который доставляет веб разработчикам массу неудобств. Возможно это происходит потому, что Microsoft на данный момент имеет 3 совершенно разные версии браузера. Возможно потому, что ранние версии не стнадартизованы. Возможно потому, что IE6 не обновлялся несколько лет. Какова бы не была причина, IE с нами и нам нужно что-то с этим делать.
В каждой версии IE мы сталкиваемся с проблемами с CSS и JavaScript. Проблемы с margin, float, с абсолютным позиционированием, отсутствие поддержки PNG формата на протяжении долгого времени — вот лишь маленькая часть из тех проблем, с которыми сталкивается рядовой веб разработчик. К счастью, Internet Explorer поддерживает условные комментарии, которые позволяют нам адресовать выполнение блока кода HTML только в определенной версии этого браузера.
Примеры условных комментариев для IE
Код приведенный выше, устанавливает красный цвет для всех ссылок, если браузер — любой из IE.
Этот код подключает файл скрипта IE8.js если версия Internet Explorer ниже версии 8.
Приведенный выше код исправляет проблему с PNG форматом если браузер IE6.
Синтаксис условных комментариев IE
Оператор | Пример | Комментарий |
! | [if !IE] | Оператор «НЕ». Ставиться перед функцией, оператором. Имеет обратное булево значение. |
lt | [if lt IE 5.5] | Оператор «меньше чем». Возвращает истину, если первый аргумент меньше второго аргумента.В данном случае «если версия IE ниже, чем 5.5» |
lte | [if lte IE 6] | Оператор «меньше или равно». Возвращает истину, если первый аргумент меньше или равен второму аргументу. |
gt | [if gt IE 5] | Оператор «больше чем». Возвращает истину, если первый аргумент больше второго аргумента. |
gte | [if gte IE 7] | Оператор «больше или равно». Возвращает истину, если первый аргумент больше или равен второму аргументу. |
( ) | [if !(IE 7)] | Используется для создания более сложных операторов и подвыражений. |
& | [if (gt IE 5)&(lt IE 7)] | Оператор «И». Возвращает истину, если все условия выполняются. |
| | [if (IE 6)|(IE 7)] | Оператор «или». Возвращает истину, если хотя бы одно из условий выполняется. |
Так как многие из нас не любят баги IE, то условные комментарии выглядят самым простым способ от них избавиться.
Ценные ресурсы
- Довольно интересный материал на PPK
- Почитайте о возможности IE8 эмулировать IE7
- Ну и конечно, прочтите официальную MSDN документацию от Microsoft
Перевод статьи: http://davidwalsh.name/ie-conditional-comments
А вы используете при верстке условные комментарии IE?
Пока вы думаете, посмотрите интересное видео об апгрейде IE с версии 1.0 до 9.0 😉
[youtube]k5QqYVurImY[/youtube]
Хоть я и не занимаюсь версткой, потому что мой основной вид деятельности — это веб-программирование. Но зачастую, бывают такие моменты, когда требуются знания верстальщика. Когда же доходит речь до IE, то хоть «караул» кричи. А тут все наглядно, ясно и без «воды». Молодец!
спасибо за добрые слова)