Евгений Степанищев

Я — эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

Фильтрация CSS по браузеру

Я как-то уже писал о том как подключить целый блок CSS только для FireFox, но чаще нужно подключить не блок, а всего один-два стиля. В этом случае удобно воспользоваться тем фактом, что браузер обязан игнорировать стиль, если в селекторе встречается что-то незнакомое.

Способ для FireFox мне подсказали в комментариях на «Хабре», для Internet Explorer я придумал его самостоятельно. Вот пример, иллюстрирующий идею:
.class { color: black } /* для всех остальных браузеров */
.class, noindex:-moz-any-link { color: blue } /* стиль только для Mozilla FireFox */
.class, v\:* { color: red } /* стиль только для Internet Explorer */
Можете попробовать самостоятельно — фильтрует идеально. В примере класс «class» даст тегу, к которому его применят, в FireFox — голубой цвет текста, в IE — красный, а в остальных браузерах — чёрный.
25 марта 2008 14:22

zencd.livejournal.com (zencd.livejournal.com)
25 марта 2008, 17:28

а что за логика в случае с IE, почему он её "съедает"?

bolk (bolknote.ru)
25 марта 2008, 17:36, ответ предназначен zencd.livejournal.com:

С точки зрения других браузеров это невалидный селектор, а в IE он используется для всех тегов какого-либо пространства имён, «v» — это VML (http://www.w3.org/TR/NOTE-VML), который всё равно никто не использует, вот я его сюда и вписал.

astur (astur.net.ru)
25 марта 2008, 19:34

потрясающе!

astur (astur.net.ru)
25 марта 2008, 19:37

Жень, а зачем у тебя с Гаватара картинка просится, когда myopenid.com её сам отдаёт вместе с е-мейлом?

gluek.info (gluek.info)
25 марта 2008, 19:49

Т.е. этим постом Евгений нам как бы говорит, что все пользователи Firefox — голубые (смайлик).

bolk (bolknote.ru)
25 марта 2008, 20:24, ответ предназначен astur (astur.net.ru):

myopenid её не отдаёт. Он использует pavatar.

bolk (bolknote.ru)
25 марта 2008, 20:25, ответ предназначен gluek.info:

Игры подсознания, да ;)

blog.ad.by (blog.ad.by)
25 марта 2008, 23:39, ответ предназначен bolk (bolknote.ru):

Просьба не обижать VML. 8-) Я его использую. Смотри в блоге.

yakushevsky (id.yakushevsky.com)
26 марта 2008, 13:00

Для эксплорера достаточно запятой:
.class, { color: red } /* стиль только для Internet Explorer */

Точнее для всех остальных браузеров достаточно этого, чтобы пропустить правило.

bolk (bolknote.ru)
26 марта 2008, 13:27, ответ предназначен yakushevsky (id.yakushevsky.com):

Ну, это баг, его могут поправить.

bolk (bolknote.ru)
26 марта 2008, 13:27, ответ предназначен blog.ad.by:

О! надо же :)

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)

Подсказка по написанию комментария

В комментариях можно применять следующую специальную разметку:

  • слово, обрамлённое в «звёздочки» выделяется *жирным*
  • ссылка становится ссылкой: http://bolknote.ru
  • ссылка в скобках также становится ссылкой, закрывающая скобка не захватывается: (http://bolknote.ru)
  • каждую строку цитаты следует начинать со знака «больше»:
    > это цитата
    > из двух строк
  • можно вставить картинку, залитую на один из сервисов: «Яндекс.Фотки», «Фликр» или «Пикплз». Для этого нужно вставить на страницу полный адрес вашей картинки на сервисе, он превратится в картинку:

    http://fotki.yandex.ru/users/bolknote/view/274311?page=3