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

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

推薦する

CSS で div にスクロールを追加し、スクロール バーを非表示にする

CSS は div にスクロールを追加し、スクロール バーを非表示にします。具体的なコードは次のとお...

MySQL での replace と replace into の使い方の説明

MySQL の replace と replace into はどちらも頻繁に使用される関数です。r...

Python3.6-MySql 挿入ファイルパス、バックスラッシュをなくす解決策

以下のように表示されます。上記のように、置き換えるだけです。 Python3.6-MySql でファ...

要素シャトルフレームのパフォーマンス最適化の実装

目次背景解決新しい質問高度な背景シャトル ボックスが大量のデータを処理すると、レンダリングされる D...

ウェブページの HTML コード: スクロールテキストの作成

このセクションでは、Web ページ内のテキストをスクロールしたり、スクロール プロパティを制御できる...

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使...

MySQL 圧縮パッケージ版 zip インストール設定方法

圧縮版の記事ではデータの初期化がされていないなどいくつか問題があったため、Windows にインスト...

エージェントを介したzabbix監視プロセスとポートの詳細なプロセス

環境の紹介オペレーティングシステム: Centos 7.4 Zabbix バージョン: zabbix...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

VMware12 に CentOS8 をインストールする方法 (VM 仮想マシンに CentOS8 をインストールするチュートリアル)

数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...

Windows での MySQL 5.7.18 インストール チュートリアル

この記事では、圧縮パッケージから MySQL をインストールする方法について説明します。 1. My...

Facebook 出会い系サイトデザインのユーザー エクスペリエンス分析

<br />関連記事: Facebookの情報アーキテクチャの分析 元記事: http:...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...

Dockerfileの指示と基本構造の説明

Dockerfile を使用すると、ユーザーはカスタム イメージを作成できます。基本構造Docker...