2011-10-17 11 views
14

Chromeはキャンバスタグをデフォルトの幅300ピクセルに設定しているようです。キャンバスのデフォルトサイズ

これは、不定形サイズのdivを含むキャンバスのサイズにキャンバスを設定したい場合には、少し面倒です。

hereを使用して、キャンバスに見出しの幅をデフォルトのままにしたい場合は、埋め込みを追加します。

希望は意味があります。

これはjavascriptなしでも可能ですか?

答えて

10

divがあり、divのジョブのみが指示するキャンバスのサイズになるようにレイアウトを調整します。

var canvas = document.createElement('canvas'); 
canvas.width = div.clientWidth; 
canvas.height = div.clientHeight; 

次に、divにキャンバスを追加します。

+0

これは明らかな答えですが、私の問題は、キャンバスタグがサーバー側で生成されていることです。クライアント側は作成されていません。これは悪い習慣ですか? – Finnnn

+0

同じテクニックを使用できるようになるとすぐにキャンバスの幅と高さを設定するのに間違ってはいけません。 Mozilla Bespinは、divがサイズを変更したかどうかを常にチェックし、それに応じてキャンバスを(再)設定しました。 –

+1

私は、ユーザーがJavaScriptを無効にしているとレイアウトが正常に見えるようにしようとしていると思います。最初のレイアウトをスタイルするためのjavascriptの使用を完全に避けます。キャンバスタグの深刻な制限のように思えますが、これは不可能です。再び、私は間違ったやり方をしているかもしれません。 – Finnnn

19

Finnnn、あなたは正しいです。

HTML5仕様から、 http://www.w3.org/TR/2012/WD-html5-author-20120329/the-canvas-element.html#the-canvas-element

canvas要素は、座標空間の大きさを制御するための2つの属性があります幅と高さを。

これらの属性を指定する場合、有効な非負整数でなければなりません。

width属性の既定値はで、height属性の既定値はです。

+1

http://www.w3.org/TR/2012/WD-html5-author-20120329/the-canvas-element.html#attr-canvas-width –

1

Chromeでは、デフォルトサイズは300px x 150pxです。

関連する問題