ブラウザのレンダリングメカニズム1. ブラウザはページを処理するために2つのエンジンを使用し、ブラウザによってレンダリングエンジンは異なります。 レンダリングエンジン: jsエンジン 2. ブラウザはHTMLを解析してDOMツリー、CSSを解析してCSSOM (CSS オブジェクト モデル); 3. 次にDOMツリーとCSSOMを組み合わせてレンダリングツリー(レンダリングツリー); 4. レンダリングツリーが完成すると、ブラウザはレンダリングツリーに従ってレイアウトします。レイアウトが完了すると、「ボックスモデル」が出力され、ビュー内の各ノードの位置とサイズを正確にキャプチャし、すべての測定値を画面上の物理的なピクセル値に変換します。(このステップにより、 5. レイアウトが完了すると、ブラウザはすぐにペイントスタンプイベントを発行し、レンダリングツリーを画面ピクセルに変換します。(このステップにより 6.上記の手順を実行すると、ページが画面に表示されます。 リフローは必然的に再描画を引き起こしますが、再描画は必ずしもリフローを引き起こすわけではありません。 リフローと再塗装リフローコンセプト: 要素の構造、サイズ、レイアウトなどの変更によりレンダリング ツリーの一部またはすべてが変更されると、ブラウザーは DOM の一部またはすべてを再レンダリングします。 要素ノードの位置と距離が変更されたことを強調します。 逆流を引き起こす行為:
再描画コンセプト: ページ要素のスタイルがドキュメント フロー内の位置に影響を与えずに変更された場合、ブラウザーは単に新しいスタイルを要素に割り当てて再描画します。 要素ノードのスタイルを強調します。たとえば、色、境界線の実線が破線になります (位置と距離は変更されません)。 再描画を引き起こす操作:
以上がWeb面接でよく聞かれるリフローとリペイントの原理と違いについての詳しい内容です。Web面接でのリフローとリペイントについてさらに詳しく知りたい方は、123WORDPRESS.COM内の他の関連記事もぜひご注目ください! 以下もご興味があるかもしれません:
|
<<: Linux で libudev を使用して USB デバイスの VID と PID を取得する方法
>>: Navicat 経由で MySQL にリモート接続する方法
この記事では、テーブルのページング効果を実現するためのjQueryの具体的なコードを参考までに紹介し...
> MySQL 5.7 クラスタ マスターとスレーブをデプロイする (テストのみ)イメージバー...
MySql でリモート接続を許可する方法この目標を達成するには、2つのことを行う必要がある。ユーザー...
初めて docker に触れたときは本当に戸惑いました。初心者向けのチュートリアルを長い間読みました...
1. 環境バージョンDocker バージョン 19.03.12セントロス7ソル8.6.2 2. Do...
準備のメリットPrepare SQL が生成される理由。まず、MySQL サーバー上で SQL を実...
これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参...
display:flex、justify-content: space-betweend を設定する...
目次開発中に発生した問題解決具体的な実装実績まとめバーチャルリストは、スクロールコンテナ要素の表示領...
CSS 3 アニメーションの例 - タブの背景切り替えの動的効果、具体的なコードは次のとおりです。 ...
質問1件会社のサーバーはApacheを使用しており、バックエンドはPHP、サーバーはLinux C/...
1. はじめにDocker には、タスクを構成する複数の Docker コンテナをオーケストレーショ...
Linuxユーティリティcertbotを使用してhttps証明書を生成するこのツールは Let...
目次メイクファイルMakefile の命名とルールMakefile の仕組みMakefile変数Ma...
1. 概要Group by は、by の後の規則に従ってデータをグループ化することを意味します。いわ...