1. コンセプトこれらはすべて Element の属性であり、要素の幅を示します。 Element.clientWidth コンテンツ + 内側の余白 - スクロールバー ----- 境界線と外側の余白を除く == 表示コンテンツ 2. 例1. 水平スクロールバーのみ<!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>scrollWidth、clientWidth、offsetWidth をテストする</title> <スタイル タイプ="text/css"> 本文、html { マージン: 0px; パディング: 0px; } #父親 { 幅: 300ピクセル; オーバーフロー:自動; パディング: 10px; 背景: レベッカパープル; 境界線: 10px 実線の赤; マージン: 20px; } #子供 { 高さ: 100px; 幅: 1000ピクセル; パディング: 10px; 境界線: 20px 実線 #ffcc99; マージン: 30px; } </スタイル> </head> <本文> <div id="父"> <div id="child"></div> </div> <script type="text/javascript"> var 子 = document.getElementById("子"); console.log("child.width:", window.getComputedStyle(child).width); //コンテンツの幅: 1000px console.log("child.clientWidth:", child.clientWidth); //コンテンツ + 内側の余白 - スクロールバー-----境界線と外側の余白を除く == 表示コンテンツ 1020px console.log("child.scrollWidth:", child.scrollWidth); //コンテンツ + パディング + オーバーフロー サイズ ----- 境界線と余白を除く == 実際のコンテンツ 1020px console.log("child.offsetWidth:", child.offsetWidth); //要素の幅(コンテンツ + パディング + 境界線 + スクロールバー) == 全体、コントロール全体は 1060 ピクセルです var 父親 = document.getElementById("父親"); console.log("father.width:", window.getComputedStyle(father).width); //コンテンツの幅: 300px console.log("father.clientWidth:", father.clientWidth); //コンテンツ + 内側の余白 - スクロールバー ----- 境界線と外側の余白は含まれません == 表示コンテンツ 320px console.log("father.scrollWidth:", father.scrollWidth); //コンテンツ + パディング + オーバーフロー サイズ ----- 境界線と余白を除く == 実際のコンテンツ 1100px console.log("father.offsetWidth:", father.offsetWidth); //要素の幅(コンテンツ + パディング + 境界線 + スクロールバー) == 全体、コントロール全体は 340px です </スクリプト> </本文> </html> 水平スクロール バーのみがある場合、親要素は子要素の幅の影響を受けます。もう 1 つの特別な要素は scrollWidth です。 親要素の scrollWidth は、子要素のコンテンツ + パディング + 境界線 + 子要素の片側のマージン + 親要素の片側のパディングです。 2. 水平スクロールバーと垂直スクロールバーがあります<!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>scrollWidth、clientWidth、offsetWidth をテストする</title> <スタイル タイプ="text/css"> 本文、html { マージン: 0px; パディング: 0px; } #父親 { 高さ: 50px; 幅: 300ピクセル; オーバーフロー:自動; パディング: 10px; 背景: レベッカパープル; 境界線: 10px 実線の赤; マージン: 20px; } #子供 { 高さ: 100px; 幅: 1000ピクセル; パディング: 10px; 境界線: 20px 実線 #ffcc99; マージン: 30px; } </スタイル> </head> <本文> <div id="父"> <div id="child"></div> </div> <script type="text/javascript"> var 子 = document.getElementById("子"); console.log("child.width:", window.getComputedStyle(child).width); //コンテンツの幅: 1000px console.log("child.clientWidth:", child.clientWidth); //コンテンツ + 内側の余白 - スクロールバー-----境界線と外側の余白を除く == 表示コンテンツ 1020px console.log("child.scrollWidth:", child.scrollWidth); //コンテンツ + パディング + オーバーフロー サイズ ----- 境界線と余白を除く == 実際のコンテンツ 1020px console.log("child.offsetWidth:", child.offsetWidth); //要素の幅(コンテンツ + パディング + 境界線 + スクロールバー) == 全体、コントロール全体は 1060 ピクセルです var 父親 = document.getElementById("父親"); console.log("father.width:", window.getComputedStyle(father).width); //コンテンツの幅: 285px console.log("father.clientWidth:", father.clientWidth); //コンテンツ + 内側の余白 - スクロールバー ----- 境界線と外側の余白は含まれません == 表示コンテンツ 305px console.log("father.scrollWidth:", father.scrollWidth); //コンテンツ + パディング + オーバーフロー サイズ ----- 境界線と余白を除く == 実際のコンテンツ 1100px console.log("father.offsetWidth:", father.offsetWidth); //要素の幅(コンテンツ + パディング + 境界線 + スクロールバー) == 全体、コントロール全体は 340px です </スクリプト> </本文> </html> 親要素の幅は、親要素のコンテンツの幅 - スクロールバーの幅(約15px)です。 親要素のクライアント幅は、親要素のコンテンツ幅 + 親要素のパディング幅 - スクロールバーの幅(約 15 ピクセル)です。 上記は、ElementにおけるclientWidth、offsetWidth、scrollWidthの違いの詳細内容です。clientWidth、offsetWidth、scrollWidthの違いについての詳細は、123WORDPRESS.COMの他の関連記事もご覧ください。 以下もご興味があるかもしれません:
|
<<: CentOS 7 構成 Tomcat9+MySQL ソリューション
>>: Navicat でストアド プロシージャ、トリガーを作成し、カーソルを使用する簡単な例 (画像とテキスト)
目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...
このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...
目次概要1. 依存性注入2. Angularの依存性注入フレームワーク概要依存性注入: デザインパタ...
この物語は、今日の予期せぬ発見から始まります。同社には複数のウェブサイトがある。友達リンクにはお互い...
目次1. 遅いクエリ構成1-1. スロークエリを有効にする2. 遅いクエリSQLの分析を説明する3....
フレームセットと本文は同じレベルにあるため、本文にフレームセットを配置することはできません。まずペー...
この記事では、タイムライン機能を実装するためのVue.jsの具体的なコードを参考までに共有します。具...
まずSQLを書く SELECT DISTINCT from_id タラから cod.from_id ...
1. サブクエリMySQL 4.1以降はサブクエリをサポートしていますサブクエリ:別のクエリ内にネス...
目次なぜマテリアルライブラリが必要なのでしょうか?材質は何ですか?素材の種類fuep、vue3 ベー...
目次序文主な実装コードHTMLコードJSコード序文南の友達の多くは、雪をほとんど見たことがない、ある...
タッチコマンドこれには 2 つの機能があります。1 つは、既存のファイルの時間タグを現在のシステム時...
目次ケーススタディアカウント残高を更新する直接更新楽観的ロック方式ロックフリーソリューションキューイ...
この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...
1 QPS 計算 (1 秒あたりのクエリ数) MyISAMエンジンベースのDBの場合 MySQL&g...