From 8595458d863c415913f4690c3f19293e9825308b Mon Sep 17 00:00:00 2001 From: DrakesBot12 Date: Thu, 11 Jun 2026 16:40:36 +0300 Subject: [PATCH 1/2] docs: any-link --- css/any-link/demos/basic/index.html | 64 +++++++++++++++++++++++++++++ css/any-link/index.md | 57 +++++++++++++++++++++++++ css/index.md | 1 + 3 files changed, 122 insertions(+) create mode 100644 css/any-link/demos/basic/index.html create mode 100644 css/any-link/index.md diff --git a/css/any-link/demos/basic/index.html b/css/any-link/demos/basic/index.html new file mode 100644 index 0000000000..2f216460cc --- /dev/null +++ b/css/any-link/demos/basic/index.html @@ -0,0 +1,64 @@ + + + + :any-link — Псевдокласс — Дока + + + + + + + + + +
+

:any-link

+

Стилизуем любые ссылки одним селектором: и непосещённые, и посещённые. Некликабельные <a> без href сюда не попадают.

+ +
+
+
Внутренняя ссылка: прыгнуть к демо
+
Внешняя ссылка: doka.guide
+
Якорь без href (не ссылка): просто текст
+
+
+
+ + + + diff --git a/css/any-link/index.md b/css/any-link/index.md new file mode 100644 index 0000000000..49ec5913bd --- /dev/null +++ b/css/any-link/index.md @@ -0,0 +1,57 @@ +--- +title: "`:any-link`" +description: "Выбирает любые ссылки — посещённые и непосещённые (`` и `` с `href`). Удобно стилизовать все ссылки одним селектором." +authors: + - drakesbot12 +keywords: + - any-link + - ссылка + - селектор + - link + - visited +related: + - html/a + - css/visited + - css/link +tags: + - doka +--- + +## Кратко + +`:any-link` — псевдокласс, который совпадает со всеми «кликабельными» ссылками: и непосещёнными (`:link`), и посещёнными (`:visited`). Работает с элементами [``](/html/a/) и ``, если у них есть атрибут `href`. + +## Пример + +Стилизуем все ссылки одним селектором. Некликабельные `` без `href` при этом не попадут под правило. + + + +## Как пишется + +```css +/* Один селектор вместо пары :link и :visited */ +.content :any-link { + text-decoration-color: #2E9AFF; + text-decoration-thickness: 2px; +} + +/* Альтернативно без :any-link */ +.content :link, +.content :visited { + text-decoration-color: #2E9AFF; + text-decoration-thickness: 2px; +} +``` + +## Как понять + +`:any-link` объединяет [`:link`](/css/link/) и [`:visited`](/css/visited/). Это снижает дублирование в стилях и исключает случай, когда стили «проваливаются» для посещённых ссылок из‑за отсутствия отдельного правила для [`:visited`](/css/visited/). + +Псевдокласс применяется только к элементам с действительным `href`. [``](/html/a/) без `href` и элементы, не являющиеся ссылками, под него не попадают. + +## Подсказки + +💡 Удобно использовать как «базовый» селектор для ссылок внутри компонента: `.card :any-link { … }`. +💡 Для выборки только некликабельных «ссылок» используйте отрицание: `a:not(:any-link)`. +💡 Добавляйте состояния [`:hover`](/css/hover/)/[`:focus-visible`](/css/focus-visible/) к тому же набору элементов: `.card :any-link:hover { … }`. diff --git a/css/index.md b/css/index.md index 9692ed7f2a..d323c279df 100644 --- a/css/index.md +++ b/css/index.md @@ -55,6 +55,7 @@ groups: - lang - root - indeterminate + - any-link - name: 'Псевдоэлементы' items: - pseudoelements From 14d9345d578588414a391dd1542ea0ea17d15449 Mon Sep 17 00:00:00 2001 From: vitya-ne <9317613+vitya-ne@users.noreply.github.com> Date: Sat, 11 Jul 2026 21:48:53 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=20baseline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/any-link/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/css/any-link/index.md b/css/any-link/index.md index 49ec5913bd..9fa4d90c06 100644 --- a/css/any-link/index.md +++ b/css/any-link/index.md @@ -1,6 +1,10 @@ --- title: "`:any-link`" description: "Выбирает любые ссылки — посещённые и непосещённые (`` и `` с `href`). Удобно стилизовать все ссылки одним селектором." +baseline: + - group: link-selectors + features: + - css.selectors.any-link authors: - drakesbot12 keywords: