Артём Поликарпов |
Сергей, как все :-) Самый простой и грязный способ —
Более гибко управлять стилями для Эксплорера до 9 включительно версии можно с помощью метода опорных классов, предложенного Полом Айришем:
ЦСС в таком случае будет аккуратнее:
|
|||||||
Условными комментариями можно подключить дополнительный style_ie.css только для ИЕ, и там прописать все необходимые исключения:
Обычно это делают для успешной валидации, но управляться с двумя файлами неудобно — в отрыве от контекста хаки становятся нечитаемыми. Недавно я нашёл способ, при котором все стили пишутся в одном месте, а каждый браузер получает отдельный файл с нужными правилами. Идея не нова, но мой способ отличается простотой реализации — нужен только Уже знакомый фрагмент там выглядел бы так:
Вот как это работает — есть файлы, в которых пишутся стили: _title.scss, _logo.scss, _article.scss Они собираются в _style.scss:
|
Об условных комментариях на сайте МСДН | |||||||
А _style.scss импортируется уже в финальный style.scss:
И
|
Файлы, начинающиеся с нижней черты, не компилируются Компасом в ЦСС напрямую, но используются для импорта. | |||||||
При сборке препроцессор проверит переменную $ie и запишет в результирующий ЦСС только нужные правила. Остаётся правильно подключить файлы с помощью условных комментариев: |
Если вы используете |
|||||||
В примере выше я отделяю все Эксплореры < 9 версии разом, но при необходимости возможно и более точное разделение на версии. Пользуясь таким методом, вы не только спрячете иешные костыли от остальных браузеров, но и ускорите загрузку в самом ИЕ, не отдавая ему, например, шрифты, закодированные в base64
Уважаемые советчики, что я забыл? |
Обратите внимание: здесь стиль для ИЕ подключается не в дополнение к основному, а вместо него. |
P. S. |