Jump to content
  • 0

-ms-filter


SelenIT
 Share

Question

Точно помню, что какая-то бета IE8 отказывалась понимать старый синтаксис фильтров (нарушающий нормы CSS), приходилось дублировать их -ms-filter:"тем же самым". Сейчас с удивлением вижу, что на моей машине IE8 прекрасно понимает и добрый старый невалидный синтаксис. Это мой IE8 глючит или его вообще тихо пофиксили и -ms-наворот теперь остался не у дел?

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

На MSDN везде пишут что -ms- это синоним обычным свойством для режима IE8. Как показывает моя практика, и без этой приставки IE прекрасно все понимает, поэтому ей и не пользуюсь даже.

Link to comment
Share on other sites

  • 0

Спасибо за подсказки! Действительно, хотя на страничке "Introduction to Filters..." написано, что

In Internet Explorer 8 mode, filters must be prefixed with "-ms-"...
на страничке самого свойства -ms-filter однозначно написано, что оно всего лишь
can be used as a synonym for filter in IE8 mode
Получается, в реальной жизни префикс и впрямь лишний, а что там было в бетах, представляет лишь исторический интерес. Вопрос решен, спасибо!

P.S. Попутно узнал для себя еще одну занятную вещь...

When you use the Internet Explorer 4.0 filter syntax, margins can affect how some filters are applied and rendered. An object's boundary can be clipped when it is set too close to the filtered content. For example, if you apply a Glow filter to an object's text without a margin, the object boundary clips some of the glow effect if the text is next to the boundary.

With Internet Explorer 5.5 syntax, the Shadow, DropShadow, and Glow filters extend the boundary of an object to make room for the filter effect, while the Internet Explorer 4.0 versions clip the filter effect at the boundary.

Получается, "новомодные" фильтры с progid: вообще не нужны — мало того, что писать больше, еще и размеры распирают, добавляя неразберихи... ^_^

Edited by SelenIT
Link to comment
Share on other sites

  • 0

Нашел подтверждение, что IE8-таки пофиксили между бетами и RC1 (заметка Сильвена Галино в блоге MS 2009 г.):

Given these constraints, a solution emerged: if a filter declaration is syntactically valid, apply it: the feature remains proprietary to IE, other browsers are able to skip it safely per CSS 2.1 grammar and web authors do not have to rewrite their stylesheets.

If the filter is syntactically invalid, however, IE8 should fail per standard rules.

This is what IE8 does since RC1.

Наконец можно забыть про -ms-filter с полностью спокойной совестью :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy