CSS Academy · Lektion

Performance: Transformierbare vs. neu zu rendernde Eigenschaften

Lernen Sie, welche Eigenschaften GPU-beschleunigt werden und welche kostspielige Layout-Neuberechnungen auslösen.

Lektion 4 von 413 Schritte

Performance: Transformierbare vs. neu zu rendernde Eigenschaften ist eine kostenlose CSS Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CSS Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CSS Academy-Kurs umfasst insgesamt 4 Lektionen.

Die Rendering-Pipeline

Browser rendern in drei Phasen: Layout (Größe + Position) → Paint (Pixel) → Composite (Zusammenführen von GPU-Ebenen). Das Animieren von Eigenschaften, die frühere Phasen auslösen, ist aufwendig.

Eigenschaften, die Layout auslösen

Das Ändern dieser Eigenschaften zwingt den Browser, das Layout möglicherweise für die gesamte Seite neu zu berechnen. Vermeiden Sie es, sie zu animieren:

  • width, height
  • margin, padding
  • top, left
  • font-size
  • display

Eigenschaften, die Paint auslösen

Diese Eigenschaften überspringen das Layout, zeichnen die Pixel aber neu. Sie sind mäßig aufwendig:

  • background-color
  • color
  • box-shadow
  • border

Eigenschaften nur für Composite

Diese Eigenschaften überspringen sowohl Layout als auch Paint — der Browser muss nur bereits gerasterte Ebenen zusammenführen. Sie sind sehr günstig und GPU-beschleunigt:

  • transform
  • opacity

Die goldene Regel für CSS-Animationen

Für flüssige Animationen mit 60 fps sollten Sie nur transform und opacity animieren. Verwenden Sie transform: translate() statt top/left und opacity statt Überblendungen mit display.

  <div class="box demo-active">Box</div>

Die Eigenschaft will-change

will-change weist den Browser an, ein Element vor dem Start der Animation in eine eigene GPU-Ebene zu verschieben. Dadurch wird ein „Promotion-Flash“ während der Animation verhindert.

  <div class="animated">Animated</div>

will-change: auto

Setzen Sie will-change: auto oder entfernen Sie die Eigenschaft vollständig, sobald die Animationen beendet sind. Wenn zu viele Elemente in GPU-Ebenen verschoben bleiben, wird GPU-Speicher verschwendet.

Messen mit DevTools

Verwenden Sie in Chrome DevTools den Tab Performance, um das Timing der Frames aufzuzeichnen und zu untersuchen. Im Tab Rendering können Sie das Aufblitzen neu gezeichneter Bereiche aktivieren (grüne Überlagerung). Dadurch sehen Sie, welche Elemente in jedem Frame neu gezeichnet werden.

transform statt top/left

Die wirkungsvollste Optimierung besteht darin, Positionsanimationen durch transform zu ersetzen:

  <div class="fly demo-active">Fly</div>

Kosten von Farb-Transitionen

Transitionen der Hintergrundfarbe lösen ein Neuzeichnen aus, aber kein neues Layout. Für kleine Elemente sind sie akzeptabel. Bei großen Hintergründen sollten Sie stattdessen ein Pseudo-Element mit einer opacity-Transition verwenden:

  <button class="btn demo-active">Hover me</button>

Die Eigenschaft contain

Die Eigenschaft contain weist den Browser darauf hin, dass ein Element und sein Teilbaum unabhängig sind. Dadurch wird der Umfang der Layout-Invalidierung begrenzt und die Performance beim Neuzeichnen verbessert.

  <div class="widget">Widget</div>

Kurze Überprüfung

Welche zwei CSS-Eigenschaften können in der Composite-Phase animiert werden, ohne Layout oder Paint auszulösen?

Zusammenfassung

Das Animieren von Layout-Eigenschaften (width, top, margin) löst aufwendige Neuberechnungen aus. Paint-Eigenschaften (color, background) sind günstiger. Nur transform und opacity werden in der GPU-Composite-Phase animiert, ohne Layout oder Paint auszulösen. Bevorzugen Sie für flüssige und performante Animationen immer diese Eigenschaften.

Kostenlos starten

Lerne CSS mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
40
Lektionen
159

Häufig gestellte Fragen

Ist die Lektion „Performance: Transformierbare vs. neu zu rendernde Eigenschaften“ kostenlos?

Ja — der vollständige Text von „Performance: Transformierbare vs. neu zu rendernde Eigenschaften“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CSS Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CSS Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Performance: Transformierbare vs. neu zu rendernde Eigenschaften“?

Lernen Sie, welche Eigenschaften GPU-beschleunigt werden und welche kostspielige Layout-Neuberechnungen auslösen. Du übst CSS Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um CSS Academy zu starten?

Keine Vorkenntnisse erforderlich. CSS Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Performance: Transformierbare vs. neu zu rendernde Eigenschaften“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser CSS Academy-Lektion Code schreiben und ausführen?

Ja. Jede CSS Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dauer und Timing von Transition-Eigenschaften
  2. Easing-Funktionen: ease, linear, cubic-bezier
  3. Mehrere Eigenschaften animieren
  4. Performance: Transformierbare vs. neu zu rendernde Eigenschaften
← Zurück zu CSS Academy