:invalid

Targets form inputs that contain data that doesn't follow the rules set by attributes like 'required', 'pattern', or 'type'.

/* Usage Example */
input:invalid {
  /* Shows a red border when the user types something wrong */
  border-color: #ef4444;
  background-color: #fef2f2;
}
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.

10+
4+
5+
12+
Kinsta

Your first month is free

Managed WordPress hosting for faster sites.

Learn more

New CSS drops.

Join 600+ readers who've survived clearfix hacks.

ESC