Два месяца назад я в кратком видео-ролике продемонстрировал, как использовать хакеры подчеркивания и звездочки для таргетинга на Internet Explorer 6 и 7 в ваших таблицах стилей. В сегодняшнем кратком совете мы сделаем еще один шаг вперед, введя новый хак, предназначенный для IE8 и ниже. Следует отметить, что это не лучшая практика, и вместо 98% случаев следует использовать условные комментарии . С учетом сказанного всегда важно знать, на что ты способен — плюс это весело, правда?
IE8 и ниже
Ключом к взлому Internet Explorer 8 и ниже является добавление «\ 9» в конец вашего стиля. Например:
1
2
3
4
|
body {
color: red;
color : green\9;
}
|
Важно отметить, что это должно быть «\ 9». К сожалению, вы не можете заменить это чем-то вроде «\ IE», как я пытался это сделать. Даже «\ 8» не сработает; это должно быть «\ 9».
IE7 и ниже
Как мы узнали из краткого совета от января , мы можем использовать символ * для таргетинга на IE7 и ниже, например:
1
2
3
4
5
|
body {
color: red;
color : green\9;
*color : yellow;
}
|
IE6
Наконец, у нас есть хакерское подчеркивание, с которым большинство дизайнеров уже знакомы. Вместо символа * мы используем подчеркивание. Это будет предназначаться только для Internet Explorer 6.
1
2
3
4
5
6
|
body {
color: red;
color : green\9;
*color : yellow;
_color : orange;
}
|
Примечание о CSS хаки
Стоит отметить, что я никоим образом не защищаю использование хаков в ваших таблицах стилей. Напротив, вы почти всегда должны использовать условные комментарии . Тем не менее, это не означает, что бесполезно знать, с чем можно технически справиться, будь то отладка или выпендривание перед друзьями!
Наибольшее беспокойство вызывает то, что взломы не годятся для будущего, по крайней мере, на самом деле. Например, что, если с выпуском Firefox 4 они тоже распознают свойства, добавленные к хаку *. Они, вероятно, никогда не будут по причинам совместимости, однако, если они это сделают, это может потенциально разрушить часть вашего макета. В конечном итоге, просто будьте мудры при использовании хаков. Если вам нужно всего лишь изменить одно или два свойства, чтобы сделать IE6 счастливым, я не вижу никакого вреда в использовании хака подчеркивания непосредственно в вашей таблице стилей. Мир не закончится. Однако, если есть несколько изменений, обязательно используйте условные комментарии!
1
2
3
|
<!—[if lte IE 7]>
Make IE7 happy.
<![endif]—>
|
Спасибо за чтение и просмотр!