ywork2020.com

Title

要素のパディング+コンテンツボックスの横幅を取得する

目次 (INDEX)

clientWidthとは

ここで説明するclientWidth とは次の語句からなるjavascriptのプロパティです。
client
読み: クライアント
意味: 得意先、顧客、依頼人
height
読み: ウィズ
意味: 幅

目次に戻る

clientWidthプロパティの概要

このプロパティは、要素のパディングボックスとコンテンツボックスの横幅の和をピクセル単位の整数で取得することができます。

コンテンツボックスは内容の状態により、スクロールバーが表示されることがありますが、その場合にはスクロールバーの幅は含まれません。

目次に戻る

構文

サンプルを見る前に構文を確認しておきます。

var intElemClientWidth = Element.clientWidth;

目次に戻る

サンプルコードと実行結果

このサンプルでは、予めdiv要素のコンテンツボックスにCSSで横幅=180px、高さ180pxを設定しています。

このdiv要素のclientWidthプロパティの値を、同要素のコンテンツボックスに出力するようにしています。

このプロパティはパディングボックスとコンテンツボックスの横幅の和を取得するためのプロパティですので スクロールバーが表示されている場合と表示されていない場合では取得する値が違うことに注意してください。

サンプルコード: CSS
<style>
	#idDiv{
		background-clip: content-box;
		background-color: ##steelblue;
		border: 10px solid ##red;
		color: ##white;
		padding: 10px;
		height: 180px;
		width: 180px;
		text-align: center;
	}
</style>
  • 02: 背景色の領域 (パディングボックスが目視できるようにコンテンツボックスのみに背景色を適用します。)
  • 09: 要素の横幅 (コンテンツボックスの横幅を180pxに設定しました。)
サンプルコード: HTML
<body>
	<div id="idDiv">padding + content<br></div>
</body>
  • 02: div要素 (clientWidthを取得する対象の要素です。)
サンプルコード: script
<script>
	let elmDiv = document.getElementById("idDiv");
	elmDiv.insertAdjacentText("beforeend", elmDiv.clientWidth + "px");
</script>
  • 02: 変数=要素の参照 (識別子にidDivを持つ要素を特定して変数に参照を代入します。)
  • 03: 結果の出力 (elmDivの要素のコンテンツに結果を挿入します。)
実行結果:
スクロールバーなし ↓
padding + content
スクロールバーあり ↓
padding + content

目次に戻る