如何让 VML 在标准模式下工作?
我希望能够在标准模式而不是怪异模式下的页面渲染上使用 vml 对象。我发现答案的碎片散落在各处,但无法弄清楚。 Raphael 以某种方式完成了它,但我无法扭转它来弄清楚发生了什么。任何基本的工作示例都会很棒。
I would like to be able to use vml objects on a page rendering in standards mode rather than quirks mode. I've found fragments of answers scattered around but can't figure it out. Raphael pulls it off somehow but I can't reverse it to figure out what's happening. Any basic working example would be great.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想我已经弄清楚了。第 1 步是通过 javascript 导入 vml 命名空间。
这使得一些随机 vml 样本可以在怪异模式下工作,但不能在标准模式下工作。关键是元素需要一个测量单位,如果未提供单位,怪异模式将假定为 px。此外,形状必须使用
position:absolute;
设置样式,尽管线条显然不需要这部分。这是带有 2 个椭圆的示例。两个椭圆都会在怪异模式下渲染,但蓝色椭圆不会在标准模式下显示。
I think I have it figured out. Step 1 is importing the vml namespace though javascript.
This got some random vml samples to work in quirks mode but not standards. They key is that elements require a unit for measurements where quirks mode will assume px if a unit is not provided. Also shapes have to be styled with
position:absolute;
although lines apparently do not need this part.Here's a sample with 2 ovals. Both ovals will render in quirks mode but the blue oval will not show in standards mode.
为什么不直接使用 Raphael 本身而不是使用原始 VML? Raphael 团队在创建一个几乎可以在任何地方使用的标准库方面做得非常出色——充分利用他们的辛勤工作。
Why don't you simply use Raphael itself instead of using raw VML? The Raphael guys have done a great job producing a standard library which works almost everywhere - make use of their hard work.