2010-12-12 24 views
1

J'apprends le VML maintenant. Et je remarque que chaque exemple contient la définition de deux style comme suit:Pourquoi faut-il spécifier les styles suivants lors de l'utilisation de VML?

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

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

Je sais que le moyen {behavior:url(#default#VML) appliquent le comportement sur les éléments sélectionnés par v\:*. Mais je ne sais pas quel type d'éléments le v\:* sélectionne. Et quel est le comportement #default#VML.

Répondre

1

Parce que VML est une approche basée sur XML, il a besoin d'un espace de noms séparé pour tous ses éléments. Pour utiliser un préfixe en XML, un espace de noms doit être déclaré. Celui-ci peut sembler familier:

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

L'espace de noms utilisé pour VML est généralement préfixé en utilisant la lettre « v », mais il pourrait être quelque chose. Le sélecteur CSS v\:* sélectionne simplement n'importe quel élément (* signifie "tout") précédé de la lettre "v". Le backslash est juste là pour échapper au côlon.

VML est ce que l'on appelle le "comportement par défaut", prédéfini par le navigateur. Le #default indique au navigateur d'accéder à la fonctionnalité intégrée, #VML spécifie quel comportement. Sur la MSDN Library, vous trouverez plus de détails sur Using DHTML Behaviors et le behavior Attribute.