Как объявить значения CSS с резервными вариантами, если значение не поддерживается

#javascript #css #fallback

Вопрос:

Я хочу использовать

 overflow: overlay
 

в хроме, но

 overflow: scroll
 

в firefox. если я объявлю только значение наложения, то firefox вообще не будет прокручиваться.
Я знаю, что наложение не является стандартным, но сейчас это совершенно неуместно.

мой вопрос в том, какой лучший способ предоставить каждому браузеру значение, как описано.

возможно ли иметь запасной вариант только внутри CSS? не могу думать, что это так, но, может быть, в этом есть какой-то подвох.

если для этого требуется javascript, как бы я проверил доступность значения переполнения?

Комментарии:

1. Просто напишите оба объявления, сначала резервное объявление. Браузеры, которые поддерживают overflow:overlay , будут использовать это вместо этого.

Ответ №1:

Вы просто предоставляете их оба, браузер будет использовать последний распознанный.

Или вы можете захотеть применить разные стили для разных браузеров https://www.browserstack.com/guide/create-browser-specific-css

Комментарии:

1. Каскад указывает, что «последнее объявление в порядке документов выигрывает» ( w3.org/TR/css-cascade/#cascade-order ). Это означает, что заказ очень важен. Неверно, что браузер будет игнорировать неверный. Браузер будет гораздо чаще игнорировать те, которые он не понимает. Это означает, что переполнение: прокрутка, за которой следует переполнение:наложение, делает это.

Ответ №2:

Вы можете напрямую указать эти значения в CSS для элемента.

Вы также можете использовать классы для установки этого атрибута. У вас есть три отдельных класса, которые имеют эти стили отдельно, и используйте javascript для присоединения классов, первым из которых являются резервные стили.