Зачем нужен селектор :target в CSS

CSS

Селектор :target — это псевдокласс в CSS, выбирающий элемент, который является целевым элементом ссылающегося URI. Другими словами, этот псевдокласс выбирает элемент, на который указывает идентификатор фрагмента в URL.

Идентификатор фрагмента — это часть URL-адреса после символа решетки (#), которая используется для прямой ссылки на определенную часть веб-страницы, например заголовок или раздел.

Селектор CSS :target вступает в игру, когда вы хотите перейти к определенному разделу веб-страницы через ссылку-якорь. Он предоставляет мощные параметры стилизации для улучшения пользовательского опыта и визуальных подсказок. Он выделяет выбранный или активный раздел, когда пользователь переходит к нему через фрагмент URL.

Базовый синтаксис для определения селектора CSS:target

Селектор:target используется для стилизации элемента, соответствующего идентификатору фрагмента в URL. Общий синтаксис использования селектора:target следующий:

:target {
    /* CSS Styles to apply to the targeted element */}

Базовые примеры

Давайте рассмотрим пример: вы нажимаете ссылку, чтобы перейти к определенному разделу; этот раздел будет выделен.

Пример 1:

<!DOCTYPE html>
<html>
<head>
<style>
:target {
   background-color: red;
   padding: 10px;
   border-radius: 5px;
}
</style>
</head>
<body>
<a href="#section1">Go to Section 1</a>
<a href="#section2">Go to Section 2</a>

<h2 id="section1">Section 1</h2>
<p>Content of Section 1...</p>

<h2 id="section2">Section 2</h2>
<p>Content of Section 2...</p>

</body>
</html>

В этом примере при нажатии на ссылку #section1 раздел 1 будет иметь красный фон, что указывает на то, что это целевой раздел.

Выход:

Пример селектора CSS:target. Пример 2:

<!DOCTYPE html>
<html>
<head>
<style>
html {
   scroll-behavior: smooth;
}
:target {
   outline: 2px solid red;
   padding: 5px;
}
</style>
</head>
<body>
<a href="#info">More Info</a>

<div id="info">
   <h3>Information Section</h3>
   <p>Details about the topic...</p>
</div>
</body>
</html>

В этом примере при нажатии на ссылку «Подробнее» страница плавно прокручивается до нужного раздела, и раздел приобретает контур.

Давайте рассмотрим пример, в котором мы создадим простой интерфейс с вкладками, используя селектор:target.

Пример 3:

<!DOCTYPE html>
<html>
<head>
<style>
.tab-content {
  /* Hide all content by default */     display: none;
}
:target {
  /* Show only the targeted content */     display: block;
}
</style>
</head>
<body>
<div class="tabs">
   <a href="#tab1">Tab 1</a>
   <a href="#tab2">Tab 2</a>
   <a href="#tab3">Tab 3</a>
</div>

<div id="tab1" class="tab-content">Content for Tab 1...</div>
<div id="tab2" class="tab-content">Content for Tab 2...</div>
<div id="tab3" class="tab-content">Content for Tab 3...</div>

</body>
</html>

При нажатии на ссылку вкладки будет виден только соответствующий раздел контента.

Оцените статью
Добавить комментарий

Adblock
detector