@supports

Оновлено: 09.01.2023

@supports

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

Синтаксис

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

Значення

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

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

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

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

Об'єднати кілька умов можна через логічний оператор and. Якщо хоча б одна з умов не підтримується, то стильові правила не застосовуються.

@supports (transform-origin: 50% 100%) and (transform: perspective(300px)) {
 /* Браузер одночасно підтримує властивості transform-origin І 
 transform з функцією perspective() */
}

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

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

Приклад

Браузери

@supports

Переглянути сумісність з Can I use?

@supports