この記事の内容はブラウザでの再描画とリフローの概念分析に関するものです。必要な方は参考にしていただければ幸いです。
1. レンダーツリー
1. ブラウザは、取得した HTML コードを DOM ツリーに解析し、ルート ノードは DOM ツリー内のノードです。 DOM ツリーには、display:none の非表示を含むすべての HTML タグと、JS などで動的に追加された要素が含まれています。たとえば、IE では -moz で始まるスタイルが削除され、Firefox では
3 で始まるスタイルが削除されます。レンダー ツリーは DOM ツリーに似ていますが、その違いは非常に大きく、レンダー ツリーの各ノードは独自のスタイルを持ち、レンダー ツリーには非表示のノードが含まれません。これらのノードはレンダリングに使用されず、レンダリングに影響を与えないためです。
2. 再描画とリフローの定義 再描画
: 現在の要素のスタイル (背景色、フォント色など) が変更された場合、変更された要素を再レンダリングするだけで済みます。描画はブラウザのパフォーマンスにほとんど影響しないため、通常は考慮されません。
: コンテナの外観スタイルを変更します(背景:黒など)。外観を変更してもレイアウトは変更されず、他の DOM には影響しません。
リフロー: ドキュメントの一部または全体を再レンダリングするために、ブラウザがドキュメント内の要素の位置と幾何学的構造を再計算するプロセスを指します。 リフローにより DOM ツリー全体が再構築される可能性があるため、パフォーマンスが大幅に低下します
1 つの要素のリフローにより、後続のすべての子要素と DOM 内のそのすぐ後の祖先要素のリフローが発生します。
1. ウィンドウのサイズ変更
2. スタイルシートの追加または削除
4. 入力ボックスにテキストを入力するなど、コンテンツの変更ユーザーが入力ボックスにテキストを入力するなど)
5. 次のような CSS 疑似クラスをアクティブ化します。 hover (IE の兄弟ノード疑似クラスのアクティブ化) (:hover などの CSS 疑似クラスのアクティブ化 (IE では兄弟の疑似クラスのアクティブ化)
6. クラス属性の操作 (クラス属性の操作)
7. DOM を操作するスクリプト)
8. offsetWidth プロパティと offsetHeight プロパティの計算 (offsetWidth と offsetHeight の計算)
9. style属性のプロパティを設定する (style属性のプロパティを設定する)
10. スクロールバーをドラッグすると固定配置の要素が移動します
リフローを回避する方法1.要素のスタイルを変更したい場合、複数回変更する代わりに、すべてのスタイルを 1 つのクラスに集中させて一度変更することができます
2. アニメーション効果には絶対を使用してください 3. テーブル レイアウトの使用は避けてください4. CSS 式は使用しないでください
5. 最後に要素を変更します
6. アニメーションを動かすときは、コントロールが必要です
たとえば、要素をドラッグするときに、x または y 座標を 5px 変更しますが、これにより滑らかさが低下します。パフォーマンスが向上します
7. アニメーション効果などの複雑なパフォーマンスを変更したい場合は、offsetWidth の計算も発生するため、このフロー ラインの外側で、position-absolute または Position-fixed を使用してください。変数を使用して保存します
9. ドキュメントにノードを追加する必要がある場合、DOM に新しい要素を追加するときに、ドキュメントの断片化を使用して、最初にそれらをコンテナに追加してから均一に追加します。リフローが 1 つだけ生成されること
関連する推奨事項:
js のローカル オブジェクト、組み込みオブジェクト、ホスト オブジェクトの分析概要
以上がブラウザにおける再描画とリフローの概念分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

タグのLang属性を設定することは、WebアクセシビリティとSEOを最適化する重要なステップです。 1)ラング属性をタグに設定します。 2)多言語コンテンツでは、ようなさまざまな言語パーツのLang属性を設定します。 3)「EN」、「FR」、「ZH」などのISO639-1標準に準拠する言語コードを使用します。Lang属性を正しく設定すると、Webページと検索エンジンランキングのアクセシビリティが向上します。

htmlattributeSareSientionalentionalentionalentionalentiallyance'functionalityandappearance.theyaddinformationtodefinebehavior、light、and interaction、makewebsitesteractive、responsive、andviseallyappaleal.attributeslikesrc、href、class、型、およびdoadabledransform

toreatealistinhtml、useforunorderedlistsandfororderedlists:1)forunorderedlists、wrapitemsinanduseforeachitem、renderingasabulletedlist.2)

HTMLは、明確な構造のWebサイトを構築するために使用されます。 1)Webサイト構造などのタグを使用し、定義します。 2)例は、ブログとeコマースのウェブサイトの構造を示しています。 3)誤ったラベルネスティングなどの一般的な間違いを避けてください。 4)HTTP要求を削減し、セマンティックタグを使用してパフォーマンスを最適化します。

to inertanimageintoanhtmlpage、usethetagwithsrcandaltattributes.1)usealttextforaccessibilityandseo.2)emplencesrcsetForresponsiveimages.3)applylazyloadingwithloading = "lazy" tooptimizeperformance.4)

HTMLの中心的な目的は、ブラウザがWebコンテンツを理解して表示できるようにすることです。 1。HTMLは、タグなどのタグを介してWebページの構造とコンテンツを定義します。 3.HTMLは、ユーザーの相互作用をサポートするフォーム要素を提供します。 4. HTMLコードの最適化は、HTTP要求の削減やHTMLの圧縮など、Webページのパフォーマンスを改善できます。

htmltagsareSterenceforwebdevelovementasyStheStructureanhandhancewebpages.1)theydefineLayout、semantics、and-interactivity.2)semanticagsimprovecessibility.3)opeusofusofagscanoptimizeperformanceandensurecross-brows-compativeation。

コードの読みやすさ、保守性、効率を向上させるため、一貫したHTMLエンコーディングスタイルは重要です。 1)低ケースタグと属性を使用します。2)一貫したインデントを保持し、3)シングルまたはダブルの引用符を選択して固執する、4)プロジェクトのさまざまなスタイルの混合を避け、5)きれいなスタイルやEslintなどの自動化ツールを使用して、スタイルの一貫性を確保します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。
