如果不使用jquery(即只使用舊的javascript),我如何將html文檔中的所有畫布設置爲文檔的寬度和高度?將html文檔中的所有<canvas>都設置爲文檔的寬度和高度?
0
A
回答
1
我創建了一個的jsfiddle這裏:http://jsfiddle.net/ZrfeV/
您需要給該文檔的高度,以便在畫布上知道有多大擴大到,否則會擴大到什麼高度由內部高度文檔收益的子元素。
var canvases = document.getElementsByTagName('canvas');
for (var i = 0; i < canvases.length; i++) {
canvases[i].style.width = '100%';
canvases[i].style.height = '100%';
canvases[i].width = canvases[i].clientWidth;
canvases[i].height = canvases[i].clientHeight;
}
2
注意:兩個酋長和Naelio的答案是技術上不正確。
Naelio: 更改畫布的風格將改變畫布的客戶區寬度和CLIENT HEIGHT不是實際的寬度和高度,以便在畫布上的內容最終會被縮放/拉伸。這裏這個問題的
例子:http://jsfiddle.net/AnLCw/1/(注意黑色50×50平方是如何使用樣式的方式拉伸)
Chief17: 不能指定百分比畫布的寬度和高度。這裏的問題的例子:http://jsfiddle.net/Sg7cb/2/(注意,沒有畫布時顯示寬度和高度百分比)
因此,這裏是實際的解決方案:
您需要設置畫布的風格是:寬度:100%和高度:100%
canvas.style.width = "100%"
canvas.style.height = "100%"
,然後執行:
canvas.width = canvas.clientWidth
canvas.height = canvas.clientHeight
工作示例這裏:http://jsfiddle.net/acYdc/1/(注意黑方如何正確繪製和畫布填充區域。)
另一種解決方案是剛剛設置
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
但canvas.width = canvas.clientWidth方法更加靈活。
相關問題
- 1. 獲取文檔的寬度和高度
- 2. html文檔寬度
- 3. 使用jquery將div高度設置爲文檔高度
- 4. iOS 9 UIWebView獲取html文檔的寬度和高度
- 5. HTML文檔是否有最大高度或寬度?
- 6. 將高度和寬度設置爲img
- 7. 從URL鏈接獲取文檔的高度和寬度鏈接到文檔
- 8. 根據文檔的高度設置IFRAME的高度(跨域)
- 9. 設置html文檔寬度以適合文本
- 10. 如何爲整個頁面背景設置html文檔高度
- 11. 將高度和寬度設置爲父母高度/寬度的分數?
- 12. 帶CSS的HTML文檔的最大寬度和高度是多少?
- 13. jQuery:獲取HTML文檔的總高度
- 14. 降低html文檔的高度
- 15. 設置MenuItem.Icon中所有圖像的寬度和高度
- 16. 爲RTF文檔中的單元格設置最小高度?
- 17. 設置高度100%爲HTML和正文
- 18. 爲什麼不設置文檔的寬度?
- 19. UIPopoverPresentationController寬度和高度沒有設置
- 20. 將寬度和高度設置爲div的位置:absolute絕對
- 21. 將窗口高度指定爲文檔高度
- 22. jquery獲取文檔寬度
- 23. 設置元素的高度<body>的寬度和寬度<body>的高度動態
- 24. JApplet根據javascript中的窗口寬度和高度設置HTML中的寬度和高度
- 25. 設置鏈接的高度和寬度
- 26. tableGrob:設置grid.table的高度和寬度
- 27. 設置圖像的寬度和高度
- 28. 設置場景的寬度和高度
- 29. 設置UIWebView的寬度和高度
- 30. 設置視頻的寬度和高度
很好的答案 - 並感謝解釋我的地方可以改進:) – nealio82
np。希望你不要介意我用名字叫出來,但我不知道用另一種方式來引用答案。 –