Häufig gestellte Fragen zum Webinterview: Prinzipien und Unterschiede zwischen Reflow und Repaint

Häufig gestellte Fragen zum Webinterview: Prinzipien und Unterschiede zwischen Reflow und Repaint

Der Rendering-Mechanismus des Browsers

1. Browser verwenden zwei Engines zur Seitenverarbeitung, und unterschiedliche Browser verwenden unterschiedliche Rendering-Engines

Rendering-Engine:

Chrom und Safari verwenden "WebKit",

Firefor nutzt „Geoko“

JS-Engine

2. Der Browser analysiert HTML in DOM-Baum, CSS analysieren in CSSOM (CSS-Objektmodell);

3. Anschließend werden DOM-Baum und CSSOM kombiniert, um Renderbaum (Renderbaum);

4. Nachdem der Renderbaum abgeschlossen ist, wird der Browser das Layout entsprechend dem Renderbaum erstellen. Nachdem das Layout abgeschlossen ist, wird ein „Boxmodell“ ausgegeben, das die Position und Größe jedes Knotens in der Ansicht genau erfasst und alle Messungen in physikalische Pixelwerte auf dem Bildschirm umwandelt. (Dieser Schritt führt zu回流(reflow) .)

5. Nachdem das Layout abgeschlossen ist, gibt der Browser sofort ein Paint-Stup-Ereignis aus, um den Renderbaum in Bildschirmpixel umzuwandeln. (Dieser Schritt führt zu重繪(repaint) .)

6. Nach den obigen Schritten wird die Seite auf dem Bildschirm angezeigt.

Bildbeschreibung hier einfügen

Beachten Sie, dass ein Reflow zwangsläufig zu einem Neuzeichnen führt, ein Neuzeichnen jedoch nicht unbedingt zu einem Reflow.

Reflow und Neulackierung

Umformen

Konzept:

Wenn sich ein Teil oder der gesamte Renderbaum aufgrund von Änderungen in der Struktur, Größe, dem Layout usw. der Elemente ändert, rendert der Browser einen Teil oder den gesamten DOM erneut.

Betonen Sie, dass sich Position und Abstand der Elementknoten geändert haben.

Aktionen, die Reflux verursachen:

  • Die Größe des Browserfensters ändert sich
  • Inhaltliche Änderungen
  • Knoten hinzufügen oder entfernen
  • CSS-Pseudoklassen aktivieren
  • usw…

Neu zeichnen

Konzept:

Wenn sich der Stil eines Seitenelements ändert, ohne dass seine Position im Dokumentfluss dadurch beeinflusst wird, weist der Browser dem Element einfach den neuen Stil zu und zeichnet es neu.

Betonen Sie den Stil von Elementknoten, beispielsweise die Farbe, die durchgezogene Linie wird zu einer gestrichelten Linie (ohne Änderung von Position und Abstand).

Operationen, die ein Neuzeichnen bewirken:

  • Wenn sich der Eigenschaftswert „background-color“ ändert
  • Wenn sich der Eigenschaftswert „Rahmenfarbe“ ändert
  • Wenn sich der Wert des Sichtbarkeitsattributs ändert
  • usw…

Bildbeschreibung hier einfügen

Oben finden Sie ausführliche Informationen zu den Prinzipien und Unterschieden von Reflow und Repaint, die in Webinterviews häufig gestellt werden. Weitere Informationen zu Reflow und Repaint in Webinterviews finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So reduzieren Sie den Browser-Reflow und die Neuzeichnung
  • Detaillierte Erklärung der Repaint- und Reflow-Verwendung in JavaScript
  • Leistungsoptimierung für JavaScript (Neuzeichnen und Neufließen)
  • Leistungsstarkes Rendern, Neuzeichnen und Umbrechen von Webentwicklungsseiten.

<<:  So verwenden Sie libudev in Linux, um die VID und PID eines USB-Geräts abzurufen

>>:  So stellen Sie über Navicat eine Remoteverbindung zu MySQL her

Artikel empfehlen

Benutzerdefiniertes Auswahlfeld für die Webseite Auswählen

Jeder ist wahrscheinlich mit dem Auswahl-Dropdown...

Detaillierter Installationsprozess des NodeJS-Verwaltungstools NVM

keine Ahnung nvm ist für die Verwaltung mehrerer ...

Über das Problem beim Schreiben von Plugins zum Mounten von DOM in vue3

Im Vergleich zu vue2 verfügt vue3 über ein zusätz...

Grafisches Tutorial zur Installation von MySQL 5.7.17 (Windows)

Ich habe vor Kurzem mit dem Studium der Datenbank...

Detaillierte Erläuterung der Angular-Routing-Unterrouten

Inhaltsverzeichnis 1. Subroutensyntax 2. Beispiel...

So erstellen Sie Ihren eigenen privaten Nexus-Server unter Linux

Dieser Artikel beschreibt, wie man über Docker ei...

Detaillierte Beispiele für Ersetzen und Ersetzen in MySQL into_Mysql

„Replace“ und „Replace into“ von MySQL sind beide...

So implementieren Sie eine einzelne Dateikomponente in JS

Inhaltsverzeichnis Überblick Einzelne Dateikompon...

Details zu verschiedenen Schriftformaten in HTML-Webseiten

Dieser Abschnitt beginnt mit den Details der Text...