所以你不想在CSS中定義畫布的大小,因爲你只能將它從「真實」大小縮放。您總是希望使用Canvas的width
和height
屬性。
但是,這並不意味着你不能這樣定義它的父母的大小。裹帆布的股利和股利的CSS寬度/高度設置爲100%(或任何你取悅)
在代碼中,你將不得不做安裝過程中:
// javascript pseudocode
canvas.width = theCanvasParent.clientWidth; // or whatever attribute it is, I'd reccomend putting all of those things in one giant container div
canvas.height = theCanvasParent.clientHeight;
由於大多數瀏覽器當父div改變大小時不會觸發事件,那麼您只需每隔半秒就用一個定時器來檢查div是否已經改變大小。如果有,則相應地調整畫布大小。
但是,有onresize
事件,並根據您的頁面設置的方式,這可能會伎倆。
在Firefox,Opera,Google Chrome和Safari中,僅當瀏覽器窗口的大小發生更改時,纔會觸發onresize
事件。
在Internet Explorer中,當瀏覽器窗口或元素的大小發生更改時,會觸發onresize
事件。
所以如果要改變你的div的大小的唯一方法是通過改變窗口的大小,onresize會做你很好。否則,您需要一個定時器,不斷檢查畫布大小和div大小是否不同(如果是,則調整畫布大小)。
不停地檢查計時器就是Mozilla的Bepsin團隊做(前貝斯平成爲Skywriter,然後用王牌項目合併,刪除所有帆布使用)
「檢查每半秒」 ewwwwwwww ... – quemeful