WebブラウザはどのようにHTMLドキュメントをレンダリングしますか
ブラウザは、BYTESが受信されると、HTMLをDOMツリーに分類します。 2。CSSやJavaScriptなどの外部リソースは非同期にロードされ、CSSはレンダリングブロッキングであり、通常のJavaScriptはパーサーブロッキングです。 3。CSSは、domと組み合わせることでレンダリングツリーを形成するスタイリングルールのツリーであるCSSOMに解析されます。 4.レンダリングツリーは、目に見える要素とその計算されたスタイルのみを使用して構築されます。 5。レイアウト(またはリフロー)は、ルートから始まる各要素の正確な位置とサイズを計算します。 6.絵画は、レイヤーにテキスト、色、境界、その他の視覚要素を描画することにより、レンダリングツリーをピクセルデータに変換します。 7。Compositingは、これらのレイヤーを正しい順序で組み合わせて、最終画面画像を効率的に生成します。レンダリングパイプライン全体(ツリーの構築、レイアウト、塗装、合成)がミリ秒単位で発生し、迅速でインタラクティブなWebページを可能にします。
Webページを開くと、ブラウザは一連の手順を実行して、RAW HTML(およびCSSやJavaScriptなどの関連リソース)を完全にレンダリングされたインタラクティブページに変換します。このプロセスは、レンダリングパイプラインと呼ばれます。 WebブラウザがHTMLドキュメントをレンダリングする方法は次のとおりです。

1。HTMLをDOMに解析します
最初のステップは、HTMLファイルを読み取り、それを構造化された形式に変換することです。ブラウザは、ドキュメントオブジェクトモデル(DOM)で動作することができます。
- ブラウザはHTMLバイトをBYTEで読み取り、トークン(
<div> 、 <code>
、属性、テキストなど)に解析します。 - 次に、これらのトークンはノードに変換され、ノードはDOMツリーと呼ばれるツリー構造に編成されます。
- DOMはドキュメントの構造とコンテンツを表し、JavaScriptからアクセスできます。
- CSSファイル(
<link rel="stylesheet">
) - JavaScriptファイル(
<script src="..."></script>
) - 画像、フォントなど
- CSSはレンダリングブロッキングです。ブラウザは、スタイルがレイアウトに影響するため、CSSが解析されるまでレンダリングを待ちます。
- JavaScriptはパーサーブロッキングです(デフォルト) :パーサーが通常の
<script></script>
タグにヒットすると、スクリプトがasync
またはdefer
使用しない限り、HTMLの解析を一時停止してスクリプトを取得して実行します。 - CSSOMは、CSSを要素にマッピングする木のような構造です。
- DOMとは異なり、CSSOMは公開されていませんが、要素のスタイルの方法を決定します。
- また、レンダリングブロッキングです。つまり、CSSOMの準備が整うまでブラウザは何もペイントしません。
-
目に見える要素のみが含まれます(例:
display: none
または<script></script>
、<meta>
を除外)。 - レンダリングツリーの各ノードには、スタイルを計算しました(継承、カスケードなどを解決した後)。
- このツリーは、実際に画面に塗装されるものを表しています。
- 各要素がページ(位置、サイズ)に表示される場合。
- このプロセスは、レイアウトまたはリフローと呼ばれます。
- レンダリングツリーのルート(通常は
要素)から始まり、各ノードのジオメトリを再帰的に計算します。
- レンダリングツリーはレイヤーに分解されます。
- 各レイヤーは、メモリのビットマップ(ピクセルベースの画像)に塗装されています。
- これには、テキスト、色、境界、影などを描くことが含まれます。
- 最新のブラウザは、パフォーマンスのためにコンテンツを複数のレイヤーに分割する場合があります(例:
will-change
またはtransform
を使用)。 - 最終的な画面画像を形成するために、レイヤーが正しい順序で描画されます。
- このステップは、重複する要素、透明性、Zインデックスなどを処理します。
- 変更されたレイヤーのみが再塗装または再構成されるように最適化されています(たとえば、アニメーション中)。
- スクリプトは、DOMとCSSOMを読み取るか変更できます。
-
window.getComputedStyle()
などのメソッドを呼び出すか、offsetHeight
にレイアウトを同期させるように強制します。 - parse html→ビルドDOM
- CSSを解析→CSSOMを構築します
- dom cssom→レンダリングツリーを組み合わせます
- レイアウト:ジオメトリを計算します
- ペイント:ピクセルに変換します
- composite:層と表示最終出力
注:DOMは徐々に構築されています。 HTMLのチャンクがダウンロードされるとすぐに、解析が開始されます。ファイル全体を待ちません。
![]()
2。外部リソースのロード
HTMLを解析する間、ブラウザは外部リソースへの参照に遭遇します。
これらは非同期に(並行して)ダウンロードされますが、:

3。CSSの解析とCSSOMの構築
ブラウザは、CSSをCSSオブジェクトモデル(CSSOM)にCSS(外部ファイル、 <style></style>
タグ、またはインラインスタイルから)に分類します。
一緒に、domとcssomはレンダリングツリーを形成します。
4.レンダリングツリーの構築
ブラウザはDOMとCSSOMを組み合わせてレンダリングツリーを作成します。
5。レイアウト(リフロー)
ブラウザがどの要素をレンダリングするかとそのスタイルを知っているので、計算します。
このステップは、特に複雑なレイアウトの場合、計算的に高価です。
6。絵画(ラスター化)
レイアウト後、ブラウザはピクセルをペイントします。
7。合成
最後に、ブラウザは塗装されたレイヤーを複合します。
ボーナス:JavaScriptの影響
JavaScriptは、このプロセス全体を中断または変更できます。
レンダリングパイプラインの概要
このプロセス全体は、多くの場合ミリ秒で非常に迅速に発生し、変更が発生するたびに繰り返すことができます(例、ユーザーインタラクション、JavaScriptの更新)。このフローを理解することで、開発者はより速く、より効率的なWebページを書き込むことができます。
基本的に、レンダリングは、コードを見て対話できるものに変えるブラウザの方法です。
以上がWebブラウザはどのようにHTMLドキュメントをレンダリングしますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

これは、大きなブロックコンテンツ領域を分割するために使用されるブロックレベルの要素です。これは、テキストまたはコンテンツの断片の小さなセグメントを包むのに適したインライン要素です。特定の違いは次のとおりです。1。列、幅、高さのみを占有し、内側と外側の縁を設定できます。これは、ヘッダー、サイドバーなどのレイアウト構造でよく使用されます。 2。ラインを包み、コンテンツ幅のみを占有し、変色、太字などのローカルスタイル制御に使用されます。 3.使用シナリオの観点から、それは全体の領域のレイアウトと構造の組織に適しており、全体的なレイアウトに影響を与えない小規模なスタイル調整に使用されます。 4.ネスティングの場合、任意の要素を含めることができ、ブロックレベルの要素を内部にネストしないでください。

Linkrel = "Preload"は、ページの読み込みパフォーマンスを最適化するテクノロジーであり、重要なリソースを事前にロードするために使用されます。その中心的な目的は、フォント、キーCSS/JS、ホーム画面画像など、ホーム画面のレンダリングに不可欠なリソースの負荷を優先することです。使用する場合に注意してください。1。リソースタイプを指定するには、AS属性を正しく設定します。 2。乱用を避け、過度の帯域幅の使用を防ぐ。 3.リソースが実際に使用されることを確認してください。そうしないと、リクエストの無駄を引き起こします。 4.クロスドメインリソースにCrossorigin属性を追加します。 AS属性の欠如などの誤った執筆方法により、プリロードが無効になります。合理的な使用は、ページの読み込み効率を改善する可能性があります。そうしないと、逆効果になる可能性があります。

HTMLをすばやく開始するには、Webスケルトンを構築するためにいくつかの基本的なタグをマスターするだけです。 1.ページ構造は不可欠であり、ルート要素であり、メタ情報が含まれ、コンテンツディスプレイ領域です。 2。タイトルを使用します。レベルが高いほど、数が小さくなります。タグを使用してテキストをセグメント化して、レベルをスキップしないようにします。 3.リンクはタグを使用してHREF属性を一致させ、画像はタグを使用し、SRCおよびALT属性が含まれます。 4.リストは、順序付けられていないリストと順序付けリストに分割されます。各エントリは表され、リストにネストする必要があります。 5.初心者は、すべてのタグを強制的に記憶する必要はありません。あなたが書いている間にそれらを書いてチェックする方がより効率的です。構造、テキスト、リンク、写真、リストをマスターして、基本的なWebページを作成します。

Shadowdomは、孤立したDOMサブツリーを作成するためにWebコンポーネントテクノロジーで使用されるテクノロジーです。 1.独自のスタイルと行動を備えた通常のHTML要素上の独立したDOM構造のマウントを可能にし、メインドキュメントに影響しません。 2。AttachShadowメソッドの使用やモードの設定など、JavaScriptを介して作成されました。 3。HTMLと組み合わせて使用すると、3つの主要な機能があります。クリア構造、スタイル分離、コンテンツプロジェクション(スロット)。 4。ノートには、複雑なデバッグ、スタイルスコープ制御、パフォーマンスオーバーヘッド、フレームワークの互換性の問題が含まれます。要するに、Shadowdomは、再利用可能で汚染されていないUIコンポーネントを構築するためのネイティブカプセル化機能を提供します。

youcannotnesttagsinsisideantagbecuseit’sinvalidhtml; browsersautomatelycloseThefirsteforeopeningthenext、spedinginselementsied、useinlineelements like like like、orforstylingwithinaparagraph、またはblockainerslikegoriveparagragh

シーンに従ってスタイル配置方法を選択する必要があります。 1。インラインは、操作によるボタンの色の変更など、単一要素または動的JS制御の一時的な変更に適しています。 2。内部CSSは、ページが少ないプロジェクトと単純な構造に適しています。これは、ログインページの基本スタイル設定など、スタイルの集中管理に便利です。 3。再利用、メンテナンス、パフォーマンスが優先され、大規模なプロジェクトの外部リンクCSSファイルを分割することをお勧めします。

thenAmeattributeTheTogisusedisedifytheTheInputisputisUbsisubmitted; itstheasthekey-key-key-valuepairsenttotheserver、wheretheuser'sinputisthevalue.1.whenaformissubmitted、thenameattributebecomesthe keyanttheinputtheinupthe becomesthevalueintas

TheHTMLdownloadattributeallowsuserstodownloadfilesdirectlyfromalinkbyusingthetag.Toimplementit,adddownloadtotheanchortag,suchasDownloadPDF,orspecifyacustomfilenamelikeDownloadasmy-document.pdf.1.Itworksbestwithsame-originURLsandcommonfiletypeslikePDF
