HTMLドキュメントタイプの詳細な説明

HTMLドキュメントタイプの詳細な説明

私のは: <!DOCTYPE html>

ブログガーデン: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

HTML ドキュメント タイプの詳細については、http://i.wanz.im/2010/05/28/why_doctype_html/ をご覧ください。

確認したところ、JS が現在のページの表示サイズを取得していましたが、これはページのスクロール位置とは異なっていました。
このページには 2000*2000 の DIV が含まれています。さまざまな HTML ドキュメント タイプでの IE および Chrome テストのデータは次のとおりです。
標準: <!DOCTYPE html>
特別: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

HTML doctype が HTML に追加されていない場合は、デフォルトで特別なモードになります。

Chrome 標準Chrome 固有IE 標準IEスペシャル
ドキュメント本体のクライアントトップ; 0 0 0 2
ドキュメント本体のクライアント左上; 0 0 0 2
ドキュメントのbodyの幅; 473 473 471 471
ドキュメント本体のクライアントの高さ; 2000 625 2000 604
ドキュメント本体のスクロールトップ; 224 289 0 255
ドキュメント本体を左にスクロールします。 315 388 0 278
ドキュメントのスクロール幅; 2005 2005 2005 2010
ドキュメント本体のスクロールの高さ; 2010 2010 2000 2005
ドキュメント本体のオフセットTop; 0 0 0 0
ドキュメント本体の左オフセット; 0 0 0 0
ドキュメント本体のオフセット幅; 473 473 471 492
ドキュメント本体のオフセット高さ; 2000 2000 2000 625
ドキュメントの要素をクライアントの先頭に追加します。 0 0 0 0
ドキュメントの要素をクライアントの左に配置する。 0 0 0 0
ドキュメント要素のクライアント幅; 473 473 471 0
ドキュメントの要素の高さ。 625 2010 604 0
ドキュメントの要素をスクロールします。 0 0 199 0
ドキュメント要素を左にスクロールします。 0 0 241 0
ドキュメントのスクロール幅; 2005 2005 2005 492
ドキュメントのスクロールの高さ。 2010 2010 2010 625
ドキュメント要素のオフセットTop; 0 0 0 0
ドキュメント要素の左オフセット。 0 0 0 0
ドキュメント要素のオフセット幅; 473 473 492 492
ドキュメント要素のオフセット高さ; 2010 2010 625 625

分析:

ページ全体の幅: document.body.scrollWidth;
ページ全体の高さ: document.body.scrollHeight;
Chrome ページの位置: document.body.scrollTop; document.body.scrollLeft;
Chrome 標準ページの表示領域: document.documentElement.clientWidth; document.documentElement.clientHeight;
Chrome 特別ページの表示領域: document.body.clientWidth; document.body.clientHeight;
IE 標準ページ位置: document.documentElement.scrollTop; document.documentElement.scrollLeft;
IE 標準ページの表示領域: document.documentElement.clientWidth; document.documentElement.clientHeight;
IE の特別なページ位置: document.body.scrollTop; document.body.scrollLeft;
IE 特殊ページの表示領域: document.body.clientWidth; document.body.clientHeight;
JS コードは次のとおりです。

コードをコピー
コードは次のとおりです。

関数 getSize() {
var obj = 新しいオブジェクト();
obj.allWidth = document.body.scrollWidth;
obj.allHeight = document.body.scrollHeight;
if (-[1, ]) { //IE以外
ドキュメントの先頭部分をスクロールします。
ドキュメントの左端をスクロールします。
document.compatMode === 'CSS1Compat' の場合 {
obj.width = document.documentElement.clientWidth;
obj.height = document.documentElement.clientHeight;
}
それ以外 {
obj.width = document.body.clientWidth;
obj.height = document.body.clientHeight;
}
} それ以外 {
document.compatMode === 'CSS1Compat' の場合 {
obj.width = document.documentElement.clientWidth;
obj.height = document.documentElement.clientHeight;
ドキュメントのスクロールトップを描画します。
ドキュメント要素を左にスクロールします。
}
それ以外 {
obj.width = document.body.clientWidth;
obj.height = document.body.clientHeight;
ドキュメントの先頭部分をスクロールします。
ドキュメントの左端をスクロールします。
}
}
アラート(obj.top);
アラート(obj.left);
アラート(obj.width);
アラート(obj.height);
obj を返します。
}

注: ブログ ガーデン ホームページの HTML ドキュメント タイプは次のようになります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
エッセイ表示ページと違うのはなぜですか?

転載を歓迎します。次の点を明記してください: [ http://www.cnblogs.com/zjfree/ ] から転載

<<:  MySQL MVCCメカニズム原理の詳細な説明

>>:  フレックスレイアウトが子要素によって引き伸ばされたときに、コンテンツをコンテナ内に保持する方法

推薦する

HTML の title 属性を正しく使用するためのヒント

コンテンツを携帯電話、タブレット、支援技術のユーザーから非表示にし、キーボードのユーザーにのみ表示す...

Celery と Docker を使用して Django で定期的なタスクを処理する方法

Django アプリケーションを構築して拡張していくと、必然的に特定のタスクをバックグラウンドで自動...

Docker 起動時の ES メモリ オーバーフローの解決方法

jvm.options ファイルを elasticsearch 構成に追加し、スタック サイズを変更...

Linux parted ディスク パーティション実装手順の分析

fdisk と比較すると、parted はあまり使用されず、主に 2T を超えるパーティションに使用...

winx64 での mysql5.7.19 の基本的なインストール プロセス (詳細)

1. ダウンロード参考: https://www.jb51.net/softs/451120.ht...

Dockerでイメージ情報を表示する方法

この記事では、Dockerでイメージ情報を表示する方法を学ぶ必要があります。 1. imagesコマ...

Vue3.0 は虫眼鏡効果のケーススタディを実装します

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

CSS クラスと ID の一般的な命名規則

ページの公開名: #wrapper - ページの外側の端が全体のレイアウト幅を制御します#conta...

dockerfile-maven-plugin 使用ガイドの概要

目次pom 構成Setting.xml 構成ログインステータスログインが必要ですログインは必要ありま...

docker エントリポイントファイルの詳細な説明

Dockerfile を作成するときは、コンテナが起動する前に初期化構成やカスタム構成を実行するため...

Webデザインチュートリアル(8):Webページの階層と空間デザイン

<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...

Vueテクノロジーに基づく再帰コンポーネントの実装方法

説明するこの記事では、Vue テクノロジーに基づいて再帰コンポーネントを実装する方法を紹介します。 ...

nginx + fastcgi を使用して画像認識サーバーを実装する

背景ディープラーニング モデルの推論には、特定のデバイスが使用されます。マシンは、モデルの読み込み、...

Jsonフォーマットの詳細な説明

目次JSON は次の 2 つの構造に基づいて構築されます。 2. JSON形式1. オブジェクト2....

CSSを使用してアダプティブスクエアを実装する方法の例

伝統的な方法は、正方形を固定形式で書くことです。長さ=幅を直接書き、次のように固定値を書きます。 。...