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

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

推薦する

Nginx アクセス ログとエラー ログ パラメータの説明

例: nginx ログには、アクセス ログとエラー ログの 2 つの主な種類があります。アクセス ロ...

mysql のファイル mysql-bin.000001 とは何ですか? 削除できますか?

ポートを使用して MySQL をインストールした後、しばらくすると /var の容量が不足しているこ...

CentOS7にMariaDB 10.2.4をインストールする方法の詳細な説明

CentOS 6 以前のバージョンでは、MySQL サーバー/クライアント インストール パッケージ...

MySQL カーソルの原理と使用例の分析

この記事では、例を使用して MySQL カーソルの原理と使用方法を説明します。ご参考までに、詳細は以...

Linux ファイアウォールの状態確認方法の例

Linuxファイアウォールの状態を確認する方法1. 基本操作 # ファイアウォールのステータスを表示...

Linuxオンラインソフトウェアgccをオンラインでインストールする方法

Linux オンラインインストール関連コマンド: yum install: すべてインストールyum...

nginx で HSTS を有効にしてブラウザを HTTPS アクセスにリダイレクトする方法の詳細な説明

前回の記事では、https を使用したローカルノードサービスアクセスを実装しました。前回の記事の効果...

開発効率の向上に役立つ 56 個の実用的な JavaScript ツール関数

目次1. デジタルオペレーション(1)指定された範囲内で乱数を生成する2. 配列操作(1)配列の順序...

MySQL データベース SELECT クエリ式分析

データ管理の大部分は検索であり、SELECT はその大部分を占めています。 SELECT selec...

MySQL 5.7 のキーワードと予約語の詳細な説明

序文MySQL と Oracle のキーワードはまったく同じではありません。Oracle データベー...

さまざまなMySQLインデックスの使用方法の詳細な説明

1. 遅いクエリログ1.1 MySQL ログの種類ログは、データベースの操作や、ユーザーがデータベー...

MySQL 8.0.2 オフラインインストールと設定方法のグラフィックチュートリアル

MySQL_8.0.2のオフラインインストール方法は参考までに。具体的な内容は以下のとおりです。次の...

擬似静的およびクライアント適応型 Nginx の設定方法

バックエンドは thinkphp3.2.3 フレームワークを使用します。他の言語を使用している場合は...

HTML減量 HTMLタグを合理化してWebページを作成する

HTML4 についてHTML (XHTML ではありません)、MIME タイプは text/html...

vue3.0+vant3.0の迅速なプロジェクト構築の実装

目次1. プロジェクトの構築2. Vue3 体験 + Vant 紹介2020年9月18日にvue.j...