Рідневі селектори за своєю поведінкою схожі на сусідні селектори (запис виду 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">