The new progress() function in CSS

October 17, 2025

Promotional graphic with the text “The new progress() function in CSS” in bold and large font, and “amitmerchant.com” below next to a purple gradient logo with a white triangle and line design.

Imagine a responsive hero image that becomes more transparent as the viewport gets narrower, helping text readability on small screens or a card that scales up slightly as the viewport grows, adding a subtle polish.

Until now, achieving these effects required complex calc() expressions or JavaScript, often leading to brittle solutions. But with the new CSS progress()function, you can express these relationships cleanly and intuitively.

With the new CSS progress() function, you can express “how far” the viewport width has moved between a minimum and maximum size, and map that directly to opacity.

Source: The new progress() function in CSS — Amit Merchant — A blog on PHP, JavaScript, and more

Progress is a new but relatively well-supported CSS function that can be used with progressive enhancement. Learn about it and how it works, and how to fallback for older browsers from Amit Merchant.