---
title: "Day 35: forgiving selectors"
url: https://daily.dev/posts/day-35-forgiving-selectors-fvgj5p763
source_url: https://www.matuzo.at/blog/2022/100daysof-day35
type: article
source: "Manuel Matuzović"
published: 2026-06-22T14:42:14.661Z
updated: 2026-06-22T14:43:32.643Z
tags: ["css"]
reading_time: 2
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Day 35: forgiving selectors

**[Manuel Matuzović](https://daily.dev/sources/matuzo)** · 2 min read · 0 upvotes · 0 comments

## Summary

CSS selector lists have a critical behavior: if any single selector in a list is invalid or unsupported, the entire rule is discarded. The :is(), :where(), and :has() pseudo-classes solve this with 'forgiving selector' behavior — they silently ignore invalid or unsupported selectors and still apply styles to the valid ones. This makes them useful for progressive enhancement and cross-browser compatibility, in addition to their existing benefits of reducing code and controlling specificity.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.matuzo.at/blog/2022/100daysof-day35>

---

Tags: [#css](https://daily.dev/tags/css)

[View this post on daily.dev](https://daily.dev/posts/day-35-forgiving-selectors-fvgj5p763)
