: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.

IE

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

Edge

  1. 12 - 18: Not supported
  2. 79 - 85: Disabled by default
  3. 86: Disabled by default

Firefox

  1. 2 - 3.6: Support unknown
  2. 4 - 77: Partial support
  3. 78 - 80: Supported
  4. 81: Supported
  5. 82 - 83: Supported

Chrome

  1. 4 - 14: Support unknown
  2. 15 - 64: Partial support
  3. 65 - 67: Disabled by default
  4. 68 - 85: Disabled by default
  5. 86: Disabled by default
  6. 87 - 89: Disabled by default

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: Supported
  6. TP: Supported

Opera

  1. 9 - 12.1: Not supported
  2. 15 - 51: Partial support
  3. 52 - 54: Disabled by default
  4. 55 - 70: Disabled by default
  5. 71: Disabled by default

iOS Safari

  1. 3.2 - 6.1: Support unknown
  2. 7 - 8.4: Partial support
  3. 9 - 13.7: Partial support
  4. 14: Supported

Opera Mini

  1. all: Not supported

Android Browser

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

Blackberry Browser

  1. 7: Support unknown
  2. 10: Partial support

Opera Mobile

  1. 10 - 12.1: Not supported
  2. 59: Partial support

Chrome for Android

  1. 85: Disabled by default

Firefox for Android

  1. 79: Supported

IE Mobile

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

UC Browser for Android

  1. 12.12: Partial support

Samsung Internet

  1. 4 - 11.2: Partial support
  2. 12.0: Partial support

QQ Browser

  1. 10.4: Disabled by default

Baidu Browser

  1. 7.12: Partial support

KaiOS Browser

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