Используются ли оба -ms-filter и filter для градиентов в IE? - PullRequest
3 голосов
/ 18 апреля 2011

Я использую следующий код, но теперь я не знаю, нужно ли мне использовать оба из них:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#46494F', endColorstr='#141A1E',GradientType=0);

-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#46494F', endColorstr='#141A1E',GradientType=0)";} 

Что еще больше смущает меня, так это то, что VS2010 сообщает следующее сообщение «Проверка CSS 2.1 - фильтр не является известным именем свойства».

Кто-нибудь испытывал подобные проблемы, используя их? Как насчет IE9 и выше? Они все еще используются или этот браузер использует новые стандарты CSS?

Надеюсь, кто-то знает об этом больше меня.

Спасибо

Ответы [ 2 ]

2 голосов
/ 18 апреля 2011

filter и -ms-filter являются собственными свойствами CSS, изобретенными Microsoft для использования только с IE, поэтому сообщения проверки не являются проблемой.

filter используется для IE старше 8 лет,в то время как IE8 + принимает префиксную версию, -ms-filter.

1 голос
/ 18 апреля 2011

Причина, по которой Microsoft заменила filter на -ms-filter в IE8, заключалась в том, что им нужно было внести в него несовместимые изменения синтаксиса.

-ms-filter позволяет вам обернуть всю строку фильтра в кавычки, тогда как более старый стиль filter этого не делает.

Это важно, потому что многие фильтры включают строки, такие как progid: (что является недопустимым CSS из-за двоеточия). Включение этих фильтров в стиле filter без кавычек может привести к тому, что другие браузеры будут задыхаться от всей таблицы стилей.

В IE9 полностью отсутствует поддержка filter и -ms-filter. Если вы хотите использовать эти эффекты в IE9, вы должны использовать стандартный CSS3.

...