1

我正在使用 scaleraphael http://www.shapevent.com/scaleraphael/,它允许我的 svg/VML 在用户调整浏览器大小时更改大小(流体布局 - 我已经将它缩放到与 div 上的 div 相同的大小页)。

它与 SVG 浏览器完美配合,虽然它在 IE8/7/6 (VML) 中工作,但出于某种奇怪的原因,右边有一个空白。我认为这与 VML 组的坐标大小有关,但这有点猜测。

间隙仅出现在某些浏览器宽度上(相距约 40 像素)。例如浏览器宽度:1060, 1104, 1144, 1186, 1230。间隙最大约为 20 像素,然后在每个像素宽度变化时再次减小回 0,直到浏览器宽度再次显示为 20 像素的序列中的下一个宽度

如果我在 IE 中使用开发人员工具,我可以看到 vml 组确实包含了应有的空白,但我论文的内容并没有填补它 - 因此我认为它与 coordsize 相关

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

4

1 回答 1

1

前段时间我创建了自己的脚本来让 Raphael 的画布“响应”。是的,我也收到了 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>
于 2013-03-18T17:52:22.947 回答