Вести с торсионных полей

April 14th, 2008

12:00 am

<Ликбез> Microsoft Internet Explorer, он же MSIE, он же «Ослик», он же «эта чёртова зараза» — давняя и привычная проблема для веб-разработчиков. Есть такая важная для веба технология — CSS, так вот она существует в двух версиях: «по стандартам» (для Firefox, Opera, Safari и Konqueror'а) и «для MSIE». </Ликбез>

Был такой классический CSS-хак «star-HTML»:

h1 { color: green } /* правило для всех браузеров */
* html h1 { color: red } /* только для MSIE 6 */

То есть, по «правилам» надо было бы сунуть CSSку для MSIE в conditional comment, но я такие правила не очень люблю. Формально синтаксис CSS не нарушен, правило работает только для MSIE 6, ради чего нам заводить отдельную CSSку? …Ах да, есть же ещё MSIE 7, и на нём больше не работает «star-HTML hack» (к тому же, он по-новому нарушает стандарты, и CSS для MSIE 6 ему часто не подходит). Но и к нему нашёлся свой подход:

*+html h1 { color: blue } /* только для MSIE 7 */

Вроде бы веб-разработчики нашли способ сосуществовать с косяками MSIE, причём — с косяками разных версий. Для всех броузеров пишем один код, для MSIE 6 и MSIE 7 пишем специфические поправки. Казалось бы, вот он, happy end — но внезапно на сцене появляется Opera версии 9.27, чтоб ей пусто было. Итак, неиллюзорная жесть: в версии 9.26 правило с префиксом *+html ещё игнорировалось, а в 9.27 оно уже не игнорируется. Приплыли…
Tags:
Powered by LiveJournal.com