:invalid
Targets form inputs that contain data that doesn't follow the rules set by attributes like 'required', 'pattern', or 'type'.
Quick example
input:invalid {
/* Shows a red border when the user types something wrong */
border-color: #ef4444;
background-color: #fef2f2;
} :invalid Browser Support
Widely available Since 2015 96% global usage
This feature is well established and works across many devices and browser versions. It has been available across browsers since 2015.
Safe to use without fallbacks.
10+
4+
5+
12+