SVG似乎可以很容易地画出一条弧线——VML能在IE7及以上版本上做到吗?

SVG似乎可以很容易地画出一条弧线——VML能在IE7及以上版本上做到吗?,svg,vml,Svg,Vml,以下内容可以使用SVG轻松绘制两条弧,并且可以在Firefox或Chrome上使用: 示例页: VML也能轻松做到这一点,这样它甚至可以在IE7及更高版本上运行吗?(你能举一个像上面这样画弧的例子吗?VML的等价物是: <?xml:namespace prefix = rvml ns = "urn:schemas-microsoft-com:vml" /> <rvml:group style="POSITION: absolute; WIDTH: 1000px; HEIGH

以下内容可以使用SVG轻松绘制两条弧,并且可以在Firefox或Chrome上使用:

示例页:



VML也能轻松做到这一点,这样它甚至可以在IE7及更高版本上运行吗?(你能举一个像上面这样画弧的例子吗?

VML的等价物是:

<?xml:namespace prefix = rvml ns = "urn:schemas-microsoft-com:vml" />
<rvml:group style="POSITION: absolute; WIDTH: 1000px; HEIGHT: 1000px; TOP: 0px; LEFT: 0px" class=rvml coordsize = "10000,10000">
    <rvml:shape style="WIDTH: 1000px; HEIGHT: 1000px" class=rvml coordsize = "1000,1000" filled = "f" stroked = "t" strokecolor = "#41b419" strokeweight = "7.5pt" path = " m400,50 c669,50,838,342,703,575,568,808,232,808,97,575,66,522,50,461,50,400 e">
      <rvml:fill class=rvml></rvml:fill>
      <rvml:stroke class=rvml opacity = "1" miterlimit = "8"></rvml:stroke>
    </rvml:shape>
</rvml:group>
<rvml:group style="POSITION: absolute; WIDTH: 1000px; HEIGHT: 1000px; TOP: 0px; LEFT: 0px" class=rvml coordsize = "10000,10000">
    <rvml:shape style="WIDTH: 1000px; HEIGHT: 1000px" class=rvml coordsize = "1000,1000" filled = "f" stroked = "t" strokecolor = "#b5e5a5" strokeweight = "7.5pt" path = " m50,400 c50,207,207,50,400,50 e">
      <rvml:fill class=rvml></rvml:fill>
      <rvml:stroke class=rvml opacity = "1" miterlimit = "8"></rvml:stroke>
    </rvml:shape>
</rvml:group>

如果您需要同时支持IE和SVG浏览器,那么使用Raphael可能是一种更好的方法。

因此,使用Raphael,我们可以真正画出一条弧线。。。这是通过使用像上面这样的简单路径实现的?我在遵循StackOverflow的一些示例,它有一个MoveTo和数吨LineTo,以实现圆弧的效果--绘制数吨的直线来模拟圆的一部分。如何获得这样的VML?那么,如何将VML本身变成一个页面呢?我把你的Raphael代码放到一个页面上,它在IE7和IE8上都能正常工作。但是使用Firebug Lite,我无法像您那样获得VML,您如何获得它们?及@動靜能量 我使用IE8中的开发工具(点击F12),在DOM检查器中选择父节点并选择“复制InnerHTML”。我相信Raphaël
LineTo
MoveTo
方法实际上只是路径上的一层。。。但有一个移动到和吨线到:
<?xml:namespace prefix = rvml ns = "urn:schemas-microsoft-com:vml" />
<rvml:group style="POSITION: absolute; WIDTH: 1000px; HEIGHT: 1000px; TOP: 0px; LEFT: 0px" class=rvml coordsize = "10000,10000">
    <rvml:shape style="WIDTH: 1000px; HEIGHT: 1000px" class=rvml coordsize = "1000,1000" filled = "f" stroked = "t" strokecolor = "#41b419" strokeweight = "7.5pt" path = " m400,50 c669,50,838,342,703,575,568,808,232,808,97,575,66,522,50,461,50,400 e">
      <rvml:fill class=rvml></rvml:fill>
      <rvml:stroke class=rvml opacity = "1" miterlimit = "8"></rvml:stroke>
    </rvml:shape>
</rvml:group>
<rvml:group style="POSITION: absolute; WIDTH: 1000px; HEIGHT: 1000px; TOP: 0px; LEFT: 0px" class=rvml coordsize = "10000,10000">
    <rvml:shape style="WIDTH: 1000px; HEIGHT: 1000px" class=rvml coordsize = "1000,1000" filled = "f" stroked = "t" strokecolor = "#b5e5a5" strokeweight = "7.5pt" path = " m50,400 c50,207,207,50,400,50 e">
      <rvml:fill class=rvml></rvml:fill>
      <rvml:stroke class=rvml opacity = "1" miterlimit = "8"></rvml:stroke>
    </rvml:shape>
</rvml:group>
var paper = Raphael(document.getElementById("drawing"), 80, 80);
var c1 = paper.path("M40,5A35,35,0,1,1,5,40.00000000000001");
c1.attr({
    fill: "none",
    "stroke": "#41b419",
    "stroke-width": "10"
});
var c2 = paper.path("M5,40.00000000000001A35,35,0,0,1,39.999999999999986,5");
c2.attr({
    fill: "none",
    "stroke": "#b5e5a5",
    "stroke-width": "10"
});