Псевдокласс CSS `:target`
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
:target CSS-псевдокласс выбирает целевой элемент документа. При загрузке документа целевой элемент определяется с помощью идентификатора фрагмента URL документа.
/* Selects document's target element */
:target {
border: 2px solid black;
}
Например, в следующем URL есть идентификатор фрагмента (обозначенный символом #), который указывает элемент с id setup в качестве целевого элемента документа:
http://www.example.com/help/#setup
Следующий элемент будет выбран селектором :target, если текущий URL совпадает с указанным выше:
<section id="setup">Installation instructions</section>
Синтаксис
:target {
/* ... */
}
Описание
При загрузке HTML-документа браузер устанавливает его целевой элемент. Элемент определяется с помощью идентификатора фрагмента URL. Если идентификатор фрагмента URL отсутствует, у документа нет целевого элемента. Псевдокласс :target позволяет задавать стили для целевого элемента документа. Элемент можно сфокусировать, выделить, анимировать и т. д.
Целевой элемент устанавливается при загрузке документа, а также при вызовах методов history.back(), history.forward() и history.go(). Однако он не изменяется при вызовах методов history.pushState() и history.replaceState().
Примечание: Из-за возможной ошибки в спецификации CSS :target не работает внутри веб-компонента, поскольку корневой элемент теневого DOM не передаёт целевой элемент в теневое дерево.
Примеры
Оглавление
Псевдокласс :target можно использовать, чтобы выделить часть страницы, на которую ведёт ссылка из оглавления.
HTML
<h3>Table of Contents</h3>
<ol>
<li><a href="#p1">Jump to the first paragraph!</a></li>
<li><a href="#p2">Jump to the second paragraph!</a></li>
<li>
<a href="#nowhere">
This link goes nowhere, because the target doesn't exist.
</a>
</li>
</ol>
<h3>My Fun Article</h3>
<p id="p1">
You can target <i>this paragraph</i> using a URL fragment. Click on the first
link above to try out!
</p>
<p id="p2">
This is <i>another paragraph</i>, also accessible from the second link above.
Isn't that delightful?
</p>
CSS
p:target {
background-color: gold;
}
/* Add a pseudo-element inside the target element */
p:target::before {
font: 70% sans-serif;
content: "►";
color: limegreen;
margin-right: 0.25em;
}
/* Style italic elements within the target element */
p:target i {
color: red;
}
Результат
Спецификации
| Спецификация |
|---|
| HTML # selector-target |
| Селекторы уровня 4 # target-pseudo |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
target |
1 |
12 |
1 |
9.5 |
1.3 |
18 |
4 |
10.1 |
2 |
1.0 |
2 |
2 |
См. также
- Использование псевдокласса :target в селекторах
-
::target-text(для выделения текстовых фрагментов)
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:target