2013-03-18 31 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