Page 45 - Сила CSS3 Освой новейший стандарт
P. 45
Грамотное использование CSS3 • 45
Из-за вероятности подобных ошибок я рекомендую применять фильтры только
в случае крайней необходимости — и то с осторожностью и не забывая о чувстве
меры. И обязательно тщательно тестируйте код с фильтрами.
ФильтраЦия IE С иСпользованием уСловных комментариев
Очень часто бывает так, что обходные пути требуется создавать только для одного
браузера — IE версий от 6 до 8. Это означает, что должен существовать какой-то
способ передавать правила или сценарии только IE (или скрывать их только от IE),
но не остальным браузерам. Вероятно, вы уже достаточно близко знакомы с этой
проблемой: IE всегда требовал особого внимания, и необходимость предоставлять
ему особые данные возникла задолго до появления CSS3. Тем не менее не мешает
периодически освежать знания, так что в этом разделе мы обсудим различные
способы удовлетворения специфических потребностей IE.
Трюки, эксплуатирующие связанные с CSS недоработки в IE, — это старейший
способ выделения именно IE из обширного ассортимента браузеров, и многие раз-
работчики применяют их по сей день. Наиболее популярные и полезные трюки для
IE — star html hack (http://css-discuss.incutio.com/wiki/Star_Html_Hack) и underscore
hack (http://wellstyled.com/css-underscore-hack.html). Удобно, что трюки добавляются
прямо в основную таблицу стилей; их легко найти, если возникает необходимость
внести изменения или отследить поведение определенного стиля, и они не гене-
рируют дополнительный HTTP-запрос. Однако некоторые трюки представляют
собой недопустимый код CSS, и использование их увеличивает размер файла для
всех браузеров, а не только для тех, для которых они предназначены. Плюс, если
только вы не выучили все трюки наизусть, невозможно быстро определить, какой
браузер какое значение получает, а это затрудняет поддержку вашего кода другими
разработчиками.
Из-за подобных сложностей большинство разработчиков CSS сегодня предпочитают
использовать для обращения к IE условные комментарии. Условные комментарии —
это особая форма комментариев HTML, прочитать которые способен только IE.
Это допустимый код HTML, и он не причиняет ущерба никаким браузерам — все
остальные браузеры, кроме IE, пропускают условные комментарии точно так же, как
любые другие комментарии HTML. Таким образом, вы можете добавлять код HTML,
который будет прочитан только IE — всеми версиями или только определенными.
Но ведь перед нами стояла задача передать IE особый код CSS, а не HTML, разве не
так? Да, но условные комментарии позволяют делать и это тоже, причем несколь-
кими способами.
Добавление таблиц стилей, предназначенных только для IE
Первый вариант использования условного комментария заключается в том, чтобы
поместить внутрь него директиву link или @import, ссылающуюся на специальную
таблицу стилей для всех версий IE:
www.trk.kg