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

Css 为什么在使用VML时需要指定以下样式?,css,vml,Css,Vml,我现在正在学习VML。我注意到每个示例包含两个样式定义,如下所示: v\:* { behavior: url(#default#VML);} o\:* { behavior: url(#default#VML);} 我知道{behavior:url(#default#VML)意味着将行为应用于v\:*选择的元素。但是我不知道v\:*选择的是哪种元素。行为是什么#default#VML因为VML是一种基于XML的方法,它需要为所有元素提供一个单独的名称空间。 要

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

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

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

我知道
{behavior:url(#default#VML)
意味着将行为应用于
v\:*
选择的元素。但是我不知道
v\:*
选择的是哪种元素。行为是什么
#default#VML

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

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

用于VML的名称空间通常以字母“v”作为前缀,但它可以是任何名称。 CSS选择器
v\:*
只选择前缀为字母“v”的任何元素(
*
代表“any”)。反斜杠正好用于转义冒号

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


在MSDN库中,您可以找到更多关于和的详细信息。

因为VML是一种基于XML的aproach,所以它的所有元素都需要一个单独的名称空间。 要在XML中使用前缀,需要声明名称空间。这可能看起来很熟悉:

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

用于VML的名称空间通常以字母“v”作为前缀,但它可以是任何名称。 CSS选择器
v\:*
只选择前缀为字母“v”的任何元素(
*
代表“any”)。反斜杠正好用于转义冒号

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

在MSDN库中,您可以找到有关和的更多详细信息