誰かがこれに気づいたかどうかはわかりませんが、試してみます。
キャンバスは他の HTML 要素とは動作が異なるため、CSS ではなく resize イベントを使用してサイズを変更します。これはうまく機能し、
ただし、ブラウザーのサイズが最大化から通常に変更された場合を除きます。この場合、キャンバスは div よりも小さくなります。違いはおよそ
スクロールバーの幅。実際、キャンバスをスクロールバーを強制するのに十分な大きさにすると、これは起こりません。
これは、サイズ変更イベントのタイミングと関係がありますか? 誰もそれを解決する方法を知っていますか?
編集
これは IE9 (右側) と Safari (下と右側) に当てはまります。ただし、Chrome と FF は対象外です。
ここでフィドル ->フィドル
/編集
window.onload = function()
{
canvas = document.getElementById("canvas");
context = canvas.getContext("2d");
window.addEventListener('resize', doTheResize, false);
}
function doTheResize()
{
canvas.width = div.clientWidth;
canvas.height = div.clientHeight;
drawThings();
}