Was ist CSS progress()-Funktionsrechner?
Die CSS progress()-Funktion (Chrome 138+) ist eine mathematische Mapping-Funktion, die einen Eingabewert aus einem Zahlenbereich in einen 0-1-Fortschrittswert umwandelt. Zum Beispiel gibt progress(scroll-position from 0 to 500) den Wert 0 zurück, wenn die Scrollposition 0 ist, 1 bei 500 und 0.5 bei 250. Dieser Fortschrittswert kann jede numerische CSS-Eigenschaft steuern und ersetzt komplexe calc()-Ketten für scroll-gebundene Effekte, viewport-relatives Sizing und Interpolation benutzerdefinierter Eigenschaften.
Kurze Antwort
Verwenden Sie CSS progress(input from min to max), um einen beliebigen numerischen Wert in einen 0-1-Fortschrittsbereich abzubilden. Steuern Sie Opazität, Skalierung, Transformation, color-mix-Prozentsätze oder jede andere zahlenakzeptierende CSS-Eigenschaft basierend auf der Scrollposition, Viewport-Dimensionen oder benutzerdefinierten Eigenschaften. Chrome 138+. Umwickeln Sie das Ergebnis in clamp(0, ..., 1), um die Ausgabe zu begrenzen.
Last updated: 2026-05-30
Einschränkungen
- progress() erfordert Chrome 138+. Firefox, Safari und ältere Chrome-Versionen unterstützen es nicht. Verwenden Sie scroll-gesteuerte Animations-Keyframes oder JavaScript-basierte Scroll-Listener als Fallbacks für Cross-Browser-Unterstützung.
- Die Funktion funktioniert nur mit numerischen CSS-Eigenschaften. Sie kann nicht direkt Farbstopps, Verlaufswinkel oder Formfunktionen steuern. Für Farbübergänge kombinieren Sie progress() mit color-mix() unter Verwendung des Fortschrittswerts als Mischprozentsatz.
- scroll-position in progress() misst standardmäßig die Dokument-Scrollposition, nicht den Scroll-Container eines Elements. Verwenden Sie self-scroll-position für einen bestimmten Scroll-Container, aber stellen Sie sicher, dass der Container scrollbar ist und einen definierten Scroll-Bereich hat.
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
So nutzt du dieses Tool
- Geben Sie die Eingabequelle und ihren Bereich ein — wählen Sie zwischen scroll-position, Viewport-Breite/Höhe, Viewport-Inline-/Blockgröße oder einer benutzerdefinierten CSS-Eigenschaft mit ihren Minimal- und Maximalwerten.
- Legen Sie die Ziel-CSS-Eigenschaft und ihren Wert bei Fortschritt 0 und Fortschritt 1 fest — zum Beispiel Opazität 0 bis 1 oder Skalierung 0.5 bis 1.5.
- Aktivieren Sie optional die clamp()-Umwicklung, um das Ergebnis innerhalb des Ausgabebereichs zu begrenzen, selbst wenn die Eingabe den definierten Bereich überschreitet.
- Kopieren Sie das generierte CSS und fügen Sie es in Ihr Stylesheet ein. Die Ausgabe enthält sowohl die progress()-Regel als auch die vollständige Eigenschaftsdeklaration.
Wofür du es nutzen kannst
- Steuern Sie die Opazität einer fixierten Kopfzeile von vollständig transparent zu deckend, während der Benutzer 0 bis 200 Pixel nach unten scrollt.
- Skalieren Sie ein Hero-Bild von 1 auf 1.2, während die Viewport-Breite von 320px auf 1920px wächst, und erzeugen Sie einen subtilen Zoomeffekt auf breiteren Bildschirmen.
- Steuern Sie einen color-mix()-Mischprozentsatz für den Übergang von einer Farbe zu einer anderen basierend darauf, wie weit der Benutzer durch einen Abschnitt gescrollt hat.