:matches() Pseudo-Class

:matches() is a new CSS pseudo-class that allows to save time by grouping selectors together:

:matches(article, div.section, section) h2 {
  font-size: 3em;

/* Is this equivalent of this: */
article h2, div.section h2, section h2 {
  font-size: 3em;

Here’s another example to bring home the point:

:matches(.main, p, div.my-stuff) :matches(h1, h2, h3, h4) {
  border: 2px dotted rgba(255,134,34,0.5);

/* Is this equivalent of this: */
.main h1,
.main h2,
.main h3,
.main h4,
p h1,
p h2,
p h3,
p h4,
div.my-stuff h1,
div.my-stuff h2,
div.my-stuff h3,
div.my-stuff h4 {
  border: 2px dotted rgba(255,134,34,0.5);

Lots of time saved typing all of this in this second example! This can really help make your CSS files smaller too.

Browser Support

👉 Myth is a good option to start using :matches() today.

Can I Use css-first-letter? Data on support for the css-first-letter feature across the major browsers from caniuse.com.


🔎 Searching...