ブラウザのレンダリングメカニズム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 にリモート接続する方法
目次1. Redis Dockerベースイメージを作成する2. Redisノードイメージを作成する3...
最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...
閉鎖サービス nginx 停止systemctl 停止 nginx起動するサービス nginx 開始...
設置環境WIN10 VMware Workstation Pro 15.0.0 ビルド 101344...
目次序文v-model の修飾子:怠け者トリム番号さまざまな入力タイプやその他の要素での v-mod...
1. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など)コード値...
公式サイトから mysql-5.7.19-winx64 をダウンロードします。これはシステムの 64...
まず問題の説明から始めましょう:同じページで、1 つのタブに float:left が必要で、もう ...
問題の説明: ユーザーは、テーブルに「違反」という単語を含むフィールドが時々表示されることを要求して...
はじめに: Lynis は、徹底的なセキュリティ スキャンを実行できる Unix システム用のセキュ...
1. スクロールスナップはフロントエンド開発者にとって必須のスキルですCSS スクロール スナップは...
目次解決策1: レプリカを再構築する前提条件アドバンテージ欠点手順マスター奴隷解決策2: データ修復...
さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!--方法 1: onf...
序文: Vue3 がリリースされてからかなり経ちますが、最近、会社のプロジェクトでVue3 + Ty...
目次1. コンセプト1.1 エラーと例外とは何ですか? 1.2 異常の分類2. 例外処理2.1try...