HTML DOM offsetWidthプロパティの使い方をわかりやすく解説
HTML DOM offsetWidthプロパティとは
HTML DOMのoffsetWidthプロパティは、要素の実際の表示幅に対応する数値(ピクセル単位の整数)を返します。この幅にはパディング・ボーダー(境界線)・スクロールバーが含まれますが、マージンは含まれません。なお、offsetWidthは読み取り専用のプロパティのため、値を直接代入することはできません。
構文
HTMLElement.offsetWidth
要素が非表示(display: none など)の状態にある場合は、0 が返されます。
関連プロパティとの違い
- offsetWidth: パディング+ボーダー+スクロールバーを含んだ幅
- clientWidth: パディングは含むが、ボーダーとスクロールバーは含まない幅
- scrollWidth: あふれて見えていないコンテンツ部分も含めた内容全体の幅
サンプルコード
次の例では、画像とそのコンテナ要素の offsetWidth をボタン操作で取得し、画面に表示します。「スクロールバーを削除」ボタンでは、コンテナのサイズを画像に合わせて overflow を hidden に変更したうえで、再度幅を取得して表示します。
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM offsetWidth</title>
<style>
form {
width: 70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin: 5px;
}
input[type="button"] {
border-radius: 10px;
}
#containerDiv {
margin: 0 auto;
height: 100px;
width: 100px;
overflow: auto;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>HTML-DOM-offsetWidth</legend>
<div id="containerDiv">
<img id="image" src="https://www.tutorialspoint.com/hibernate/images/hibernate-mini-logo.jpg">
</div>
<input type="button" onclick="getWidth()" value="画像の幅を取得">
<input type="button" onclick="fitWidth()" value="スクロールバーを削除">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var imgSelect = document.getElementById("image");
var containerDiv = document.getElementById("containerDiv");
function getWidth() {
divDisplay.innerHTML = '画像の幅(パディング・ボーダー込み): ' + imgSelect.offsetWidth;
divDisplay.innerHTML += '<br>コンテナの幅(パディング・ボーダー込み): ' + containerDiv.offsetWidth;
}
function fitWidth() {
containerDiv.style.height = imgSelect.height + 'px';
containerDiv.style.width = imgSelect.width + 'px';
containerDiv.style.overflow = 'hidden';
getWidth();
}
</script>
</body>
</html>
実行結果
いずれのボタンもクリックしていない状態 −

「画像の幅を取得」ボタンをクリックした後 −

「スクロールバーを削除」ボタンをクリックした後 −

-
【初心者向け】HTML DOMのoffsetParentプロパティの使い方とサンプルコード
offsetParentプロパティとは HTML DOM の offsetParent プロパティは、対象要素のオフセット(相対的な位置)がどの親要素を基準として定義されているかを示し、その基準となる親要素への参照を返します。 具体的には、CSS の position プロパティ(relative / absolute / fixed / sticky)が指定された最も近い祖先要素が基準となります。該当する要素が存在しない場合は <body> 要素が返されます。また、テーブルセル内の要素であれば <td> や <table> などのテーブル関連要素が基準にな
-
HTML DOM titleプロパティとは?使い方とサンプルコードを解説
HTML DOM titleプロパティとはHTML DOMのtitleプロパティは、HTML要素のtitle属性に対応する文字列を取得(戻り値として返す)したり、設定したりするためのプロパティです。title属性に値が設定されている場合、その要素にマウスカーソルを重ねると、ツールチップとしてテキストが表示されます。この動的な挙動をJavaScriptから制御できるのが、titleプロパティの役割です。構文title属性の値を取得する場合:ElementOfHTMLObject.titletitle属性に文字列を設定する場合:ElementOfHTMLObject.title = string使