2013-03-18 73 views
1

我使用scaleraphael http://www.shapevent.com/scaleraphael/,它允许我的svg/VML在用户调整浏览器大小时更改大小(流体布局 - 我已将它缩放为与页面上div的大小相同)。比例尺raphael VML右/下缺口

它与SVG浏览器完美结合,虽然它在IE8/7/6(VML)中工作,但出现了一些奇怪的原因,右边有空白。我认为这与VML团队的合作关系有关,但这是一个猜测。

间隙仅出现在某些浏览器宽度(相距约40像素)。例如浏览器宽度:1060,1104,1144,1186,1230。该差距最大约为20像素,并且再次下降到0,每个像素的宽度变化,直到浏览器宽度是序列中的下一个再次出现为20像素的顺序

如果我在IE中使用的开发工具,我可以看到,VML组不包括的差距,因为它应该,但我的论文的内容不填充 - 所以为什么我认为它是连接到coordsize

刚想知道是否有其他人有同样的问题(如果不是你可能不会理解我的问题,因为它是很难解释)

回答

1

前段时间我创建了我自己的脚本,使拉斐尔的画布“res ponsive”。是的,我也发布了IE7-8的差距,这让我很生气。然而我的差距是不变的。现在我的脚本工作正常。如果你需要一个简单的响应大小,那么你不需要一个插件:

var _browser = {}; 
_browser.ie = userAgent.indexOf("msie") > -1 ? {} : false; 
if(_browser.ie) 
    _browser.ie.old = (navigator.userAgent.match(/MSIE [6-8]/) !== null); 


if(_browser.ie && _browser.ie.old){ 

    _data.R = Raphael('conainerID', _data.options.width, _data.options.height); 

    $(window).on('resize', function(){ 
      var w = $('#containedID').width(); 
      var h = $('#containedID').height(); 
     _data.R.setSize(w,h); 
    }); 

}else{ 
    _data.R = Raphael('conainerID', '100%', '100%');  
} 

您将需要创建一个流体容器。不要为它设置固定宽度;但你可以设置一些“最大宽度”来限制它的缩放比例:

<div id="containerID" style="max-width: 1200px;"></div> 
+0

这个脚本还应该缩放rapahael svg/vml的内容吗? – Jason 2013-03-19 09:16:43

+0

它会自动调整窗口大小的svg/vml。此脚本也需要jQUery。 – oyatek 2013-03-20 09:10:16