From d711f636c4a579791053d3983245ddaba77b0487 Mon Sep 17 00:00:00 2001 From: codersjj Date: Sun, 16 Nov 2025 16:39:09 +0800 Subject: [PATCH 1/3] Clarify that the universal selector does not match pseudo-elements directly --- .../css/reference/selectors/universal_selectors/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/files/en-us/web/css/reference/selectors/universal_selectors/index.md b/files/en-us/web/css/reference/selectors/universal_selectors/index.md index ef4e20883e53b8b..34947490364e5e1 100644 --- a/files/en-us/web/css/reference/selectors/universal_selectors/index.md +++ b/files/en-us/web/css/reference/selectors/universal_selectors/index.md @@ -21,6 +21,12 @@ The universal selector is a special [type selector](/en-US/docs/Web/CSS/Referenc - `*|*` - matches all elements - `|*` - matches all elements without any declared namespace +> [!NOTE] +> The universal selector (`*`) matches **elements only**. +> It does **not** match pseudo-elements by itself. +> +> Selectors like `*::before` work because the `*` matches all **elements**, and the pseudo-element selector (`::before`) applies to those elements. The universal selector does not directly select pseudo-elements. + ## Syntax ```css From cf6f10d984dc11cfd58bbb627c0c2d39a3e223cc Mon Sep 17 00:00:00 2001 From: Shane Date: Mon, 17 Nov 2025 22:56:23 +0800 Subject: [PATCH 2/3] Update files/en-us/web/css/reference/selectors/universal_selectors/index.md Co-authored-by: Chris Mills --- .../web/css/reference/selectors/universal_selectors/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/css/reference/selectors/universal_selectors/index.md b/files/en-us/web/css/reference/selectors/universal_selectors/index.md index 34947490364e5e1..7ec9e99df9215f4 100644 --- a/files/en-us/web/css/reference/selectors/universal_selectors/index.md +++ b/files/en-us/web/css/reference/selectors/universal_selectors/index.md @@ -23,7 +23,7 @@ The universal selector is a special [type selector](/en-US/docs/Web/CSS/Referenc > [!NOTE] > The universal selector (`*`) matches **elements only**. -> It does **not** match pseudo-elements by itself. +> It does **not** directly match pseudo-elements by itself. > > Selectors like `*::before` work because the `*` matches all **elements**, and the pseudo-element selector (`::before`) applies to those elements. The universal selector does not directly select pseudo-elements. From c166bffec1535dfa7a54d1fd943507b980448707 Mon Sep 17 00:00:00 2001 From: Shane Date: Mon, 17 Nov 2025 22:58:07 +0800 Subject: [PATCH 3/3] Update files/en-us/web/css/reference/selectors/universal_selectors/index.md Co-authored-by: Chris Mills --- .../web/css/reference/selectors/universal_selectors/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/css/reference/selectors/universal_selectors/index.md b/files/en-us/web/css/reference/selectors/universal_selectors/index.md index 7ec9e99df9215f4..211a49944cd104c 100644 --- a/files/en-us/web/css/reference/selectors/universal_selectors/index.md +++ b/files/en-us/web/css/reference/selectors/universal_selectors/index.md @@ -25,7 +25,7 @@ The universal selector is a special [type selector](/en-US/docs/Web/CSS/Referenc > The universal selector (`*`) matches **elements only**. > It does **not** directly match pseudo-elements by itself. > -> Selectors like `*::before` work because the `*` matches all **elements**, and the pseudo-element selector (`::before`) applies to those elements. The universal selector does not directly select pseudo-elements. +> To match all {{cssxref("::before")}} pseudo-elements on a page, for example, you would have to use a selector like `*::before`. This works because the `*` matches all elements, and the `::before` pseudo-element is available on all elements. ## Syntax