ブラウザのレンダリングメカニズム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 にリモート接続する方法
WeChat 関連サービスをデバッグする場合など、職場のサーバー環境でリモートデバッグを行う必要があ...
目次圧縮ファイルをダウンロードするアドレス: https://dev.mysql.com/downl...
1. 永続的な統計情報の重要性:統計は、MySQL が実行プランを生成するためのガイドとして使用され...
画像をプルする # docker pull codercom/code-server # Docke...
思いつきで、小さなボールが跳ね返るケーススタディを書いてみました。具体的な内容は以下のとおりです。主...
1 MVCCとは何かMVCC の正式名称は、マルチバージョン同時実行制御です。データベースへの同時ア...
MGR (MySQL グループ レプリケーション) は、バージョン 5.7 で追加された新しい機能...
1. まず、Linux システムのバージョン内容について概要を説明します。 1. カーネルバージョン...
目次1. プロトタイプの関係2. プロトタイプチェーン3. 結論序文:前回の記事では、JavaScr...
setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...
Vueドロップダウンリストの2つの実装最初の方法はv-forを使用する <el-select ...
■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...
目次1. 操作要素1.1. 要素コンテンツの変更1.2. innerText と innerHtml...
目次まず効果を見てみましょう:成し遂げる:要約:まず効果を見てみましょう: 成し遂げる: 1. ナビ...
目次データベースにインデックスが必要なのはなぜですか?インデックスが B+Tree データ構造を使用...