Являются ли CSS3 :: before и :: после псевдоэлементов, поддерживаемых IE9, или нет?

В этой таблице совместимости MS говорится: IE9 не поддерживает псевдоэлементы ::before и ::after , но когда я пытаюсь, кажется, что это происходит … см. JSBin

Я делаю что-то неправильно? Я думал, что ::before and ::after будут хорошими инструментами, чтобы скрыть вещи от IE9, когда на самом деле они этого не делают.

Псевдоэлементы CSS2 :before и :after , с традиционной записью с одним двоеточием, поддерживаются IE8 и более поздними версиями. Они не новы для CSS3.

Обозначение с двойной колонкой, с другой стороны, является новым для CSS3 . IE9 поддерживает эту новую нотацию для ::before и ::after , а также для псевдо-элементов CSS1 ::first-line и ::first-letter . Однако в будущем новый псевдоэлемент не может использовать синтаксис одного двоеточия, и ожидается, что браузеры (включая IE) будут поддерживать синтаксис двойного двоеточия для всех псевдоэлементов.

Я не знаю, почему эта таблица говорит, что IE9 не поддерживает новый псевдоэлементный синтаксис, потому что он, безусловно, соответствует документам для отдельных селекторов, связанных выше, и вашему тестовому примеру. Как и, конечно, этот ответ.

IE 9 поддерживает обозначения ::after и ::before (с двумя двоеточиями) в «стандартном режиме». В режиме «quirks mode» это не так. Это можно проверить, например, следующим образом:

  

Hello world

Здесь правило CSS игнорируется, потому что IE 9 переходит в режим quirks. Но если вы добавите следующую строку в самом начале, IE 9 перейдет в режим стандартов, и правило CSS вступит в силу:

  

Обычно в IE 9 в режиме quirks новые функции CSS (большинство функций, которые не входят ни в CSS 2.1, ни в наследие IE) не поддерживаются. В режиме quirks IE 9 не поддерживает старые однострочные обозначения :after и :before . Он поддерживает их (но не версии с двумя двоеточиями) в режиме «IE 8», которые вы можете выбрать в инструментах разработчика (F12) вручную, в меню «Режим документа» или на уровне документа с помощью тега .

Как указано в http://www.w3.org/community/webed/wiki/Advanced_CSS_selectors

CSS3 псевдоэлементный двойной синтаксис двоеточия. Обратите внимание, что новый способ написания псевдоэлементов CSS3 заключается в использовании двойного двоеточия, например a :: after {…}, чтобы отличать их от псевдоclassов. Иногда вы можете видеть это в CSS. Однако CSS3 также позволяет использовать псевдоэлементы с одним двоеточием ради обратной совместимости, и мы бы посоветовали вам придерживаться этого синтаксиса.

  • objective: перед и: после псевдо-элементов с jQuery
  • «Text-decoration» и псевдоэлемент «: after», пересмотренный
  • css вращать псевдо: после или: до содержимого: ""
  • Можно ли установить порядок укладки псевдоэлементов ниже их родительского элемента?
  • Могу ли я настроить таргетинг на: перед или: после псевдоэлемента с помощью сочетания братьев и сестер?
  • Interesting Posts

    Как установить расширенные ассоциации файлов в Windows 7?

    Отключение выхода Log4J в Java

    Альтернативные, переплетенные или чередующиеся два вектора

    Как написать iterator, который возвращает ссылки на себя?

    параллельная префикс (суммарная) сумма с SSE

    Инициализация массива использует переменную const в C ++

    Разделить объекты NSData на другие объекты NSData заданного размера

    reinterpret_cast, создающий тривиальный конструктивный объект по умолчанию

    В чем разница между перфорацией отверстий UDP и UPnP?

    отправить форму не останавливается в jquery ajax call

    Как остановить Wpf Tabcontrol, чтобы выгрузить визуальное дерево при изменении табуляции

    Является ли разыменование нулевого указателя действительным в операции sizeof

    Ошибка включения openmp – “ld: библиотека не найдена для -lgomp” и Clang errors

    Идентификация клиента во время вызова удаленной работы .NET

    Могу ли я отключить бесконечную прокрутку для всех сайтов?

    Давайте будем гением компьютера.