2

由于 IE8,我使用 RaphaelJS 生成将SVG在所有现代浏览器(例如 Chrome、FireFox、Safari、IE9+)中但将VML在 IE8 中的图形。

此图嵌入在 a<div>中,它是使用流畅布局的页面的一部分。使用 pure SVG,我可以使用 和 之类的属性viewBox使其preserveAspectRatio工作,也就是说,图形(以及其中的元素)随着浏览器窗口大小的调整而上下缩放。

但它是如何处理这个VML案子的呢?我是否需要在窗口调整大小事件时重新绘制整个图表来自己滚动?RaphaelJS 有什么方法可以简化这种情况吗?

4

2 回答 2

0

对于所有好的浏览器,您可以以百分比设置宽度/高度,这将使图像自动“流动”(它将使用 DIV 容器调整大小),对于 IE7-8,您应该使用paper.setViewBox()手动调整大小的自定义功能:

  if($.browser.msie && $.browser.version < 9){
       R = Raphael('divID', 640, 480);
       $(window).on('resize', yourCustomfluidResizeFunction);
  }else{
       R = Raphael('divID', '100%', '100%');
  }
于 2012-12-02T13:02:45.017 回答
0

Paper.setViewBox应该为 VML 和 SVG AFAIK 处理这个问题。

也就是说,我不确定 VML 处理流体布局的能力如何。

于 2012-11-30T15:16:31.367 回答