4,001 views
この記事は最終更新から 2883日 が経過しています。
(1) やりたいこと
ブロック要素などの幅と高さを JavaScriptで取得したい。
(2) 実験
幅の取得を以下の三通りで試してみる。
{要素}.innerWidth()
{要素}.outerWidth()
{要素}.width()
高さの取得を以下の三通りで試してみる。
{要素}.innerHeight()
{要素}.outerHeight()
{要素}.height()
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<script src='//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<style>
*{
margin: 0;
padding: 0;
}
.box1{
border: 20px #000 solid;
padding: 10px;
width: 300px;
height: 400px;
}
.box1-1{
background-color: #888;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="box1">
<div class="box1-1">
</div>
</div>
<div id="output"></div>
<script>
$(document).ready(function(){
var cont = '';
cont += 'w_in : ' + $('.box1').innerWidth() + '<br />';
cont += 'w_out : ' + $('.box1').outerWidth() + '<br />';
cont += 'w_css : ' + $('.box1').width() + '<br />';
cont += 'h_in : ' + $('.box1').innerHeight() + '<br />';
cont += 'h_out : ' + $('.box1').outerHeight() + '<br />';
cont += 'h_css : ' + $('.box1').height() + '<br />';
$('#output').html(cont);
});
</script>
</body>
</html>
実行サンプルはこちら。
https://www.dogrow.net/hp/sample/00041/
(3) 結果
outerWidth, outerHeight : 要素の外郭のサイズ(borderの外側)
innerWidth, innerHeight : 要素の内郭のサイズ(borderの内側)
width, height : 要素の更に内郭のサイズ(paddingの内側)
※外郭・内郭とか用語が正しくないが自己納得できているのでよいか…

アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2026-02-10: 0回 2026-02-09: 0回 2026-02-08: 0回 2026-02-07: 0回 2026-02-06: 0回 2026-02-05: 0回 2026-02-04: 0回