margin: 0 auto;
とdisplay: block;
とのセンタリングは、ほぼすべてのブラウザ - <canvas>
をサポートしています。
ライブ例:http://jsbin.com/ovoziv/2
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Centring Canvas</title>
</head>
<body>
<canvas></canvas>
</body>
</html>
CSS
canvas {
display: block;
background: #FFFFB7;
width: 550px;
height: 400px;
margin: 0 auto;
}
EDIT:更新された答えは、あまりにも縦中央に。このCSSはトリックを行います:
canvas {
background-color: #FFFFB7;
width: 550px;
height: 400px;
position: absolute;
top: 50%;
left: 50%;
margin-left: -275px;
margin-top: -200px;
}
今説明します。最初にを使用して、キャンバスを上端と左端から50%オフセットして、top
とleft
を50%
に設定します。次に、キャンバスに静的なサイズがあるため、幅とサイズの半分(550x400/2 = 275x200)の場合は、margin-left: -275px; margin-top: -200px;
の負のマージン(要素が絶対配置されていない場合は絶対にしないでください)を追加します。
キャンバスが画面の中央に表示されるようになりました。これを別の要素の中で行い、その要素を中心にしたい場合は、その要素にposition: relative;
を追加してください。そうすれば、その要素の代わりにその境界を使用します。
ライブ例:http://jsbin.com/ovoziv/6
CSSでも幅を指定しましたか? –
@BramVanroyいいえ? – user1431627
@Pete http://pastebin.com/wMz33J5Q – user1431627