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メカニズム原理の詳細な説明

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

推薦する

Linux のパスワードを紛失した場合にリセットする方法

1. スタートアップメニューでは、カーソルを最初の行に移動します - eを押します 2. UTF-8...

CSS プロパティ *-gradient の実用的な価値を探る

まず興味深い性質であるconic-gradientを紹介しましょう。円錐グラデーション!円グラフの作...

React の 3 つの主要属性における Ref の使用に関する詳細な説明

目次クラスコンポーネント機能コンポーネントインタビューのよくある質問: React における ref...

ログインと登録機能を実現するjs

この記事の例では、ログインと登録機能を実装するためのjsの具体的なコードを参考までに共有しています。...

nginxリバースプロキシを介したデバッグコードの実装

背景現在、会社のプロジェクトは、フロントエンドとバックエンドが分離された方法で開発されています。新し...

Alibaba Cloud Docker Yum ソースを使用した Docker 17.03.2 の CentOS7 オンラインインストールの詳細説明

参照ドキュメント公式 Docker インストール ドキュメント: https://docs.dock...

MySQL フィールドで NOT NULL を使用する必要があるのはなぜですか?

私は最近新しい会社に入社したのですが、データベース設計にいくつか小さな問題があることに気付きました。...

WeChatアプレットリクエストの前処理方法の詳細な説明

質問一部のページでは、onload でデータを要求してからビューをレンダリングするため、ミニプログラ...

Windows CVE-2019-0708 リモート デスクトップ コード実行脆弱性の再現問題

1. 脆弱性の説明マイクロソフトは2019年5月15日、CVE番号CVE-2019-0708のWin...

フロントエンドはJavaScriptを通じてCADグラフィックスの詳細を作成および変更します。

目次1. 現状2. JSでCADグラフィックを作成および変更する2.1 サポートされているCADエン...

Docker Composeのデプロイと基本的な使い方の詳しい説明

1. Docker Composeの概要Compose は、マルチコンテナ Docker アプリケー...

VUE 応答性原理の詳細な説明

目次1. 応答原理の基盤2. コアオブジェクト: Dep と Watcher 3. 依存関係を収集し...

Vue要素のバックグラウンド認証プロセスの分析

序文:最近、プロジェクトで管理システムに遭遇しました。権限設定が非常に興味深いと思いました。自分の学...

中国の専門ではない:文化の違いの中でのウェブ開発

Web デザインと開発は大変な作業なので、少数の人だけを対象に設計しないでください。これは外国人が...