:is() CSS pseudo-class

- WD

The :is() (formerly :matches(), formerly :any()) pseudo-class checks whether the element at its position in the outer selector matches any of the selectors in its selector list. It's useful syntactic sugar that allows you to avoid writing out all the combinations manually as separate selectors. The effect is similar to nesting in Sass and most other CSS preprocessors.

Chrome

  1. 4 - 14: Support unknown
  2. 15 - 64: Partial support
  3. 65 - 67: Disabled by default
  4. 68 - 87: Disabled by default
  5. 88 - 130: Supported
  6. 131: Supported
  7. 132 - 134: Supported

Edge

  1. 12 - 18: Not supported
  2. 79 - 87: Disabled by default
  3. 88 - 130: Supported
  4. 131: Supported

Safari

  1. 3.1 - 4: Not supported
  2. 5: Support unknown
  3. 5.1 - 8: Partial support
  4. 9 - 13.1: Partial support
  5. 14 - 18.0: Supported
  6. 18.1: Supported
  7. 18.2 - TP: Supported

Firefox

  1. 2 - 3.6: Not supported
  2. 4 - 77: Partial support
  3. 78 - 131: Supported
  4. 132: Supported
  5. 133 - 135: Supported

Opera

  1. 9 - 12.1: Not supported
  2. 15 - 51: Partial support
  3. 52 - 54: Disabled by default
  4. 55 - 74: Disabled by default
  5. 75 - 113: Supported
  6. 114: Supported

IE

  1. 5.5 - 10: Not supported
  2. 11: Not supported

Chrome for Android

  1. 131: Supported

Safari on iOS

  1. 3.2 - 6.1: Support unknown
  2. 7 - 8.4: Partial support
  3. 9 - 13.7: Partial support
  4. 14 - 18.0: Supported
  5. 18.1: Supported
  6. 18.2: Supported

Samsung Internet

  1. 4 - 14.0: Partial support
  2. 15.0 - 25: Supported
  3. 26: Supported

Opera Mini

  1. all: Not supported

Opera Mobile

  1. 10 - 12.1: Not supported
  2. 80: Supported

UC Browser for Android

  1. 15.5: Supported

Android Browser

  1. 2.1 - 3: Support unknown
  2. 4 - 4.4.4: Partial support
  3. 131: Supported

Firefox for Android

  1. 132: Supported

QQ Browser

  1. 14.9: Disabled by default

Baidu Browser

  1. 13.52: Supported

KaiOS Browser

  1. 2.5: Partial support
  2. 3: Supported
Resources:
Chrome support bug for :is()
Codepen - Modern tests
MDN Web Docs - CSS :is()
JS Bin - Legacy tests
WebKit blog post about adding `:matches()` and other Selectors Level 4 features