使用VML时为什么需要指定以下样式?

时间:2010-12-12 09:43:51

标签: css vml

我正在学习VML。我注意到每个示例包含两个样式定义如下:

        v\:* { behavior: url(#default#VML);}

        o\:* { behavior: url(#default#VML);}

我知道{behavior:url(#default#VML)表示对v\:*选择的元素应用行为。但我不知道v\:*选择了哪种元素。什么是行为#default#VML

1 个答案:

答案 0 :(得分:1)

因为VML是基于XML的方法,所以它需要一个单独的命名空间来表示它的所有元素。 要在XML中使用前缀,需要声明命名空间。这个看起来很熟悉:

<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v" />

用于VML的命名空间通常使用字母“v”作为前缀,但它可以是任何内容。 CSS选择器v\:*只选择前缀为字母“v”的任何元素*代表“any”)。反斜杠只是逃避冒号。

VML被称为“默认行为”,由浏览器预定义。 #default告诉浏览器访问内置功能, #VML指定了哪种行为。

在MSDN Library上,您可以找到有关Using DHTML Behaviorsbehavior Attribute的更多详细信息。