CSS властивості
ГлавнаяДовідник CSSПов’язані селектори

Пов’язані селектори

183

Рідневі селектори за своєю поведінкою схожі на сусідні селектори (запис виду E + F), але на відміну від них стильові правила застосовуються до всіх прилеглих елементів. Наприклад, для селектора h1~p стиль буде застосовуватися до всіх елементів <p>, що розташовуються після заголовка <h1>. При цьому <h1> та <p> повинні мати спільного батька, тому якщо <p> вставити всередину <div>, то стилі застосовуватися вже не будуть.

Тут червоний колір тексту буде встановлений для всіх абзаців.

<code class="no-buttons" data-language="css">h1 ~ p { color: red; } 
<h1>Заголовок</h1> <p>Абзац 1</p> <p>Абзац 2</p>

Тут червоний колір тексту буде встановлений для першого та третього абзаців. До другого абзацу стиль не застосовується, оскільки <h1> та <p> не мають спільного батька.

<code class="no-buttons" data-language="css">h1~p{ } 
<h1>Заголовок</h1> <p>Абзац 1</p> <div><p>Абзац 2</p></div> <p>Абзац 3</p>

Синтаксис

<code>E~F { Опис правил стилю }

Для управління стилем споріднених елементів використовується символ тильди (~), він додається між двома селекторами E та F. Пробіли навколо тильди не обов'язкові. Стиль при такому записі застосовується до елемента F у тому випадку, якщо він має того ж батька, що і елемент E і слідує після нього.

Позначення

Опис Приклад
<тип> Вказує тип значення. <розмір>
A && B Значення повинні виводитися в зазначеному порядку. <размер> && <колір>
A | B Вказує, що потрібно вибрати лише одне значення із запропонованих (A або B). normal | small-caps
A || B Кожне значення може використовуватися самостійно або спільно з іншими у довільному порядку. width || count
[ ] Групує значення. [ crop || cross ]
* Повторювати нуль або більше разів. [,<час>]*
+ Повторювати один або більше разів. <число>+
? Вказаний тип, слово або група не є обов'язковим. inset?
{A, B} Повторювати не менше A, але не більше B разів. <радіус>{1,4}
# Повторювати один або більше разів через кому. <час>#

Приклад

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Селектори</title> <style> img { display: none; } 
#switch:checked ~ img { display: block; }
</style>
</head>
<body> <form> <input type="checkbox" id="switch"> <label for="switch">Показати зображення</label> <img src="image/thumb1.jpg" alt=""> <img src="image/thumb2.jpg" alt=""> <img src="image/thumb3.jpg" alt="">
</form>
</body>
</html>

У даному прикладі всі зображення спочатку приховані, але відображаються якщо поставити в полі форми галочку.

Специфікація

Специфікація Статус
CSS Selectors Level 3 Рекомендація

Специфікація

Кожна специфікація проходить кілька стадій схвалення.

  • Recommendation (Рекомендація) — специфікація схвалена W3C і рекомендована як стандарт.

    li>
  • Candidate Recommendation (Можлива рекомендація) — група, яка відповідає за стандарт, задоволена, як він відповідає своїм цілям, але потрібна допомога спільноти розробників з реалізації стандарту.) — на цьому етапі документ представлений на розгляд Консультативної ради W3C для остаточного затвердження. та внесення поправок для розгляду спільнотою.
  • Editor's draft (Редакторська чернетка) — чорнова версія стандарту після внесення змін до редакторів проекту.
  • Draft (Чернетка специфікації) — перша чорнова версія стандарту.

Браузери

7 12 1 9 3 1
1 1 9 3

Браузери

У таблиці браузерів застосовуються такі позначення.

  •   — властивість повністю підтримується браузером з усіма допустимими значеннями;
  • > — властивість браузером не сприймається та ігнорується;
  •  — при роботі можлива поява різних помилок, або властивість підтримується лише частково, наприклад, не всі допустимі значення дейс або властивість застосовується не до всіх елементів, які вказані в специфікації.

Число вказує версію браузера, починаючи з якої властивість підтримується. "/sites/all/themes/ori/js/mousetrap.min.js">

Автор та редактори

Автор: Влад Мержевич
Останнє змінення: 23.05.2018
Редактори: Влад Мержевич