我正在使用scaleraphael http://www.shapevent.com/scaleraphael/,允许我的svg / VML在用户调整浏览器大小时更改大小(流畅的布局 - 我已将其缩放到与页面上的div相同的大小)。< / p>
它与SVG浏览器完美配合,虽然它在IE8 / 7/6(VML)中有效,但由于某些奇怪的原因,右边有差距。我认为它与VML组的coordsize有关,但这是一个猜测。
间隙仅出现在某些浏览器宽度(相距约40像素)处。例如浏览器宽度:1060,1104,1144,1186,1230。间隙大约为20像素,并且每个像素的宽度变化再次减小到0,直到浏览器宽度是序列中的下一个像素再次显示为20像素
如果我在IE中使用开发人员工具,我可以看到vml组确实包含了差距,但是我的论文内容没有填充它 - 因此我认为它与coordsize有关
只是想知道是否有其他人有同样的问题(如果不是你可能不会理解我的问题,因为它很难解释)
答案 0 :(得分: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>