CSS властивості
ГлавнаяДовідник CSSПсевдоклас CSS :only-of-type

Псевдоклас CSS :only-of-type

181

Псевдоклас :only-of-type застосовується до дочірнього елемента вказаного типу, тільки якщо він єдиний у батька.

>

Як приклад розглянемо наступний код HTML:

<article> <h1>Роль цитокінів при дорсалгії</h1> <p>Автор: Гордон Фрімен, канд. фіз.-мат. наук</p> <p>Зміст статті</p> <address>Пошта: freemen@blackmesa.com</address> <p>Опубліковано: <time datetime="2018-11-27">27 листопада 2018</time></p>
</article>

Псевдоклас :only-of-type без вказівки селектора вибере всі єдині елементи кожного типу всередині <article> та встановить для них червоний колір тексту. Тут єдиними є елементи <h1>, <address> та <time> .

article :only-of-type { color: red; }

При додаванні селектора до :only-of-type спочатку розглядається вказаний елемент, потім перевіряється, чи він єдиний. Тут червоним кольором буде виділено заголовок, оскільки <h1> лише один.

article h1:only-of-type {color: red; }

Якщо замість h1 використовувати селектор p, то нічого вибрано не буде, оскільки всередині <article> зустрічається кілька абзаців і елемент <p> не єдиний.

article p:only-of-type { color: red; }

Замість :only-of-type можна використовувати комбінації :first-of-type:last-of-type або :nth-of-type(1):nth-last-of-type(1).

>

Синтаксис

<code> <i>Селектор</i>:only-of-type { ... }

Позначення

Опис Приклад
<тип> Вказує тип значення. <розмір>
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>only-of-type</title> <style> img:only-of-type { border: 2px solid red; /* Параметри рамки */
}
</style>
</head>
<body> <p><img src="image/figure.jpg" alt=""> <img src="image/figure.jpg" alt=""></p> <p><img src="image/figure.jpg" alt=""></p>
</body>
</html>

У прикладі псевдоклас :only-of-type застосовується до селектора img, у правилах стилю якого задається рамка червоного кольору картинок. Сама рамка додається до зображень, які у своїх батьків (в даному випадку це <p>) зустрічаються лише один раз. У першому рядку повторюються два зображення, тому псевдоклас не діє, у другому рядку вставлено одне зображення, для нього :only-of-type і працює.

Застосування псевдокласу :only-of-type до картинок

Мал. 1. Застосування псевдокласу :only-of-type до картинок

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

Специфікація Статус
Selectors Level 4 Робочий проект
Selectors Level 3 Рекомендація

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

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

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

Браузери

9 12 1 9.5 3.2 3.5
2.1 1 10 3.2

Браузери

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

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