Контент


inline-комментарии css и IE

Столкнулся совершенно случайно с игнорированием некоторых CSS-правил шестым эксплорером. Немного поковырявшись, выяснилось, что он в определенных случаях игнорирует те правила, которые содержат строчные комментарии (между /* и */). Вот пример:

.test {
    border-color: /* старое значение */ green;
}

Блок с классом test будет иметь рамку зеленого цвета во всех браузерах. А в ИЕ (как минимум в 6 и 7 версиях) значение будет взято по умолчанию (т.е. из свойства color), т.е. данное правило игнорируется. Не знаю, чем объяснить данное поведение, причем достаточно комментарий придвинуть поближе к двоеточию или значению цвета — и все работает. Быстренько накидал тестовую страничку с разнообразными расположениями комментариев и отправил на browsershots. Дополнительно выяснилось, что адекватные браузеры пропускают только случаи, когда комментарий находится внутри имени свойства или его значения (что в принципе логично). Если говорить про ИЕ, то он по какой-то неведомой причине нормально обрабатывает варианты типа

border-color: gre/*123*/en;

В общем, получается эдакий странноватый ИЕ6-7 хак :) В Гугле ничего по этому поводу не нашел, или все-таки баян древний, как сам ИЕ6?

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Опубликовано в верстка.

Теги: , .


Комментарии (2)

Будьте в курсе обсуждения, подпишитесь на RSS ленту комментариев к этой записи.

  1. Максим Нагайченко пишет:

    Ну все браузеры показали, что разрывать св-во или значение камментом не валидно!
    Единственное, кто позволил разорвать значение ИЕ8, но он не справился с камментом перед значением…

    ИТОГ — пишите камменты перед св-вами или после знака точка с запятой «;»

    Спасибо, сам бы не догадался

    ЗЫ Есть еще одно чудо в ие, не помню уже каком — цвет серый может быть (grey and gray) И какое-то из них какой-то ие не воспринимает!!!

  2. Monster пишет:

    На осле 7 столкнулся недавно с проблемой, не получается сбросить селект. Тоесть конструкция на JQuery $(«#chosen_category option»).removeAttr(‘selected’); на 7 осле не воспринимается, на 6 работает.



Можно включить подсветку кода: <code><pre lang="">...</pre></code>
Разрешены некоторые HTML теги

или используйте trackback.