(no subject)
Monday, April 14th, 2008 00:00<Ликбез> Microsoft Internet Explorer, он же MSIE, он же «Ослик», он же «эта чёртова зараза» — давняя и привычная проблема для веб-разработчиков. Есть такая важная для веба технология — CSS, так вот она существует в двух версиях: «по стандартам» (для Firefox, Opera, Safari и Konqueror'а) и «для MSIE». </Ликбез>
Был такой классический CSS-хак «star-HTML»:
То есть, по «правилам» надо было бы сунуть CSSку для MSIE в conditional comment, но я такие правила не очень люблю. Формально синтаксис CSS не нарушен, правило работает только для MSIE 6, ради чего нам заводить отдельную CSSку? …Ах да, есть же ещё MSIE 7, и на нём больше не работает «star-HTML hack» (к тому же, он по-новому нарушает стандарты, и CSS для MSIE 6 ему часто не подходит). Но и к нему нашёлся свой подход:
Вроде бы веб-разработчики нашли способ сосуществовать с косяками MSIE, причём — с косяками разных версий. Для всех броузеров пишем один код, для MSIE 6 и MSIE 7 пишем специфические поправки. Казалось бы, вот он, happy end — но внезапно на сцене появляется Opera версии 9.27, чтоб ей пусто было. Итак, неиллюзорная жесть: в версии 9.26 правило с префиксом *+html ещё игнорировалось, а в 9.27 оно уже не игнорируется. Приплыли…
Был такой классический CSS-хак «star-HTML»:
h1 { color: green } /* правило для всех браузеров */
* html h1 { color: red } /* только для MSIE 6 */
* 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 оно уже не игнорируется. Приплыли…

no subject
Date: Sunday, April 13th, 2008 09:34 pm (UTC)no subject
Date: Monday, April 14th, 2008 04:37 am (UTC)no subject
Date: Monday, April 14th, 2008 07:11 am (UTC)no subject
Date: Tuesday, April 15th, 2008 08:44 am (UTC)Во-вторых, называть оперу кустарной поделкой? Ну знаете ... и между прочим, это один из немногих браузеров, который проходит ACID тест.
no subject
Date: Sunday, April 13th, 2008 10:06 pm (UTC)no subject
Date: Sunday, April 13th, 2008 10:23 pm (UTC)no subject
Date: Monday, April 14th, 2008 04:32 am (UTC)no subject
Date: Sunday, April 13th, 2008 11:49 pm (UTC)в плохом смысле этого слова.
no subject
Date: Monday, April 14th, 2008 06:40 pm (UTC)Позволяет делать вещи вроде:
.ie .example {
background-color: yellow
}
.ie7 .example {
background-color: orange
}
.gecko .example {
background-color: gray
}
.win.gecko .example {
background-color: red
}
В результате даже не нужно никаких хаков.