我希望能够在标准模式而不是怪癖模式下的页面呈现上使用 vml 对象。我发现散落在各处的答案片段,但无法弄清楚。拉斐尔以某种方式把它拉下来,但我无法扭转它来弄清楚发生了什么。任何基本的工作示例都会很棒。
问问题
2269 次
2 回答
7
我想我已经弄清楚了。第 1 步是通过 javascript 导入 vml 命名空间。
document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML");
这让一些随机 vml 样本在怪癖模式下工作,但不是标准。他们的关键是元素需要一个测量单位,如果没有提供单位,怪癖模式将假定为 px。position:absolute;
尽管线条显然不需要这部分,但形状也必须设置样式。
这是一个带有 2 个椭圆的示例。两个椭圆都将以怪异模式呈现,但蓝色椭圆不会在标准模式下显示。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<script>
document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML");
</script>
<v:oval style="width: 100; height: 50" fillcolor="blue"></v:oval>
<v:oval style="position: absolute; width: 100px; height: 50px" fillcolor="green"></v:oval>
</body>
</html>
于 2010-10-08T13:36:09.707 回答
0
为什么不简单地使用 Raphael 本身而不是使用原始 VML?Raphael 的家伙们在制作一个几乎在任何地方都可以使用的标准库方面做得很好——利用他们的辛勤工作。
于 2010-10-07T19:58:27.260 回答