ブラウザのレンダリングメカニズム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 にリモート接続する方法
一般的なゲストブック、フォーラムなどでは、テキスト入力ボックスが使われています。これは HTML 言...
1. はじめにtelnet コマンドは、リモート ホストにログインするために使用されます。これは、T...
MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...
CAST関数前回の記事では、型変換を表示するために使用する CAST 関数について説明しました。暗黙...
一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...
目次1. イメージをプルする1.1 関連するイメージをプルして実行する1.1.1 関連する画像を取得...
1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...
目次1. コンテンツの概要2. 文字セットと文字順序の概念と関係3. MySQL でサポートされてい...
この記事では、Vueの簡単なコメント機能を実装するための具体的なコードを参考までに共有します。具体的...
mysqldump ツールのバックアップデータベース全体をバックアップする $> mysqld...
この記事は Tom Ewer の Managewp ブログからのもので、現在人気のレスポンシブ デザ...
目次1. usrディレクトリにHadoopディレクトリを作成し、インストールパッケージをそのディレク...
無料ポイントインタビュアー:Linuxを使ったことはありますか?私:はいインタビュアー:メモリ使用量...
開発中に画像とテキストが 1 行に表示されることはよくあります。2 つのインライン要素を揃えるのは通...
この記事では、例を使用して、MySQL スライディング集計/年初来集計の原理と使用方法を説明します。...