我已經看到Flash中的圖形&這些東西基本上可以很好地適應任何瀏覽器或者它們所在的靈活元素的大小....我對raphaelJS不太熟悉,但是你可以這樣做,如果又怎樣?在RaphaelJS中製作寬度爲100%的圖表?
10
A
回答
7
在raphaeljs中,您可以調用Raphael對象上的.setSize來更新其大小。爲了適應瀏覽器窗口大小的運行時更改,可以響應窗口大小調整事件。使用jQuery,您可以:
// initialize Raphael object var w = $(window).width(), h = $(window).height(); var paper = Raphael($("#my_element").get(0), w,h); $(window).resize(function(){ w = $(window).width(); h = $(window).height(); paper.setSize(w,h); redraw_element(); // code to handle re-drawing, if necessary });
0
通常,您可以將寬度設置爲%100並在SVG中定義一個viewBox。但是,Raphael JS會直接在SVG元素上設置寬度和高度,這會殺死這種技術。
波什的回答非常好,但它對我來說扭曲了長寬比。必須調整一些東西才能正常工作。此外,還包括一些邏輯來保持最大尺寸。
// Variables
var width;
var height;
var maxWidth = 940;
var maxHeight = 600;
var widthPer;
function setSize() {
// Setup width
width = window.innerWidth;
if (width > maxWidth) width = maxWidth;
// Setup height
widthPer = width/maxWidth;
height = widthPer * maxHeight;
}
var paper = Raphael(document.getElementById("infographic"), 940, 600);
paper.setViewBox(0, 0, 940, 600, true);
window.onresize = function(event) {
setSize();
paper.setSize(width,height);
redraw_element();
}
3
這將讓你一個負責任的SVG
var w = 500, h=500;
var paper = Raphael(w,h);
paper.setViewBox(0,0,w,h,true);
paper.setSize('100%', '100%');
+0
這對我有用。當我縮小窗口的時候,SVG縮小了,但並沒有擴大;它的大小在最初的寬度和高度被封頂。另外,我僅爲寬度指定了「100%」。 – 2014-09-09 14:27:56
+0
編輯:100%的高度是必要的,否則高度不會隨着比例變化而變化。這相當於CSS中的'height:auto'。 – 2014-09-09 17:34:32
相關問題
- 1. Boostrap.css製作佈局100%寬度/高度
- 2. 100%的寬度或在表
- 3. 圖庫100%的寬度
- 4. 在行內塊元素內製作圖像寬度:100%
- 5. 100%的寬度
- 6. 100%高度或100%寬度
- 7. 頁頭寬度爲100%沒有工作
- 8. raphaeljs中的線寬
- 9. 如何製作100%寬度和內部邊框的HTML表格?
- 10. 寬度100%爲divs,表不工作在mozilla和即
- 11. 質譜圖寬度100%
- 12. 自舉圖形:100%寬度
- 13. 爲什麼在iPhone上100%的寬度/高度不起作用?
- 14. 100%寬度表格單元
- 15. 化妝寬度爲100%
- 16. 寬度設置爲100%
- 17. CSS滾動寬度爲100%?
- 18. 爲什麼這張表在chrome中的寬度不是100%?
- 19. Div寬度= 100%?
- 20. jQgrid 100%寬度
- 21. Html寬度100%
- 22. 如何製作一個html iframe 100%的寬度和高度?
- 23. 製作高度和寬度100%的設備
- 24. 如何在頁眉包裝內製作100%寬度的導航
- 25. 輸入最大寬度:100%在表中不工作
- 26. CSS 100%寬度超過100%
- 27. 爲什麼在css box modell中100%寬度不是100%?
- 28. 100%寬度的輸入與定製
- 29. 圖像集寬度HTML中的高度屬性,CSS中的設置寬度100%
- 30. CSS:100%寬度和高度的背景圖像不起作用
使用'paper.setSize'農作物我SVG而無需縮放;我將如何擴展,而不是僅僅裁剪? – supertrue 2012-08-20 04:54:09