CSS властивості
ГлавнаяДовідник CSSПравило @supports в CSS

Правило @supports в CSS

197

Правило @supports дозволяє перевірити, чи підтримує браузер ту чи іншу можливість, і на основі цього створити набір стильових правил. Допустимо створювати комплексні умови за допомогою логічних операторів not, and, or.

Синтаксис
<code>@supports <умова> { <стильові правила> }

Позначення

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

Значення

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

@supports (transform: perspective(300px)) { /* Браузер підтримує властивість transform з функцією perspective() */
}

Для перевірки того, що властивість не підтримується застосовується логічний оператор not, він ставиться перед умовою.

@supports not (transform: perspective(300px)) { /* Браузер НЕ підтримує властивість transform з функцією perspective() */
}

Об'єднати кілька умов можна через логічний оператор and. Якщо хоча б одна з умов не підтримується, то стильові правила не застосовуються. 300px)) { /* Браузер одночасно підтримує властивості transform-origin І transform з функцією perspective() */}

Для вибору однієї з умов використовується логічний оператор or. Якщо підтримується хоча б одна з умов, то застосовуються стильові правила. підтримує властивість perspective АБО властивість transform з функцією perspective() */}

Приклад

<!DOCTYPE html>
<html>
<head>
<title>@supports</title>
<meta charset="utf-8"> <style> @supports (display: flex) { .no { display: none; } 
} 
@supports not (display: flex) { .yes { display: none; } 
}
</style>
</head>
<body> <p class="yes">Ваш браузер підтримує display: flex.</p> <p class="no">Ваш браузер не підтримує display: flex.</p>
</body>
</html>

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

Специфікація Статус
CSS Conditional Rules Module Level 3 Можлива рекомендація

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

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

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

Браузери

12 28 12.1 9 22
4.4 22 37 9.2

Браузери

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

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

Кількість вказує версію браузера, починаючи з якої властивість підтримується. class="field field-name-field-css-cat field-type-taxonomy-term-reference field-label-hidden">

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

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