Я интересно, если есть способ, чтобы обнаружить, если браузер способен оживлённых элементы SVG с помощью CSS
Простой ответ: Да, вы можете заявить @jhpratt.
Вы можете определить, поддерживает ли браузер CSS-функциональность только с CSS. CSS-правило @supports
CSS позволяет вам указывать объявления, зависящие от поддержки браузера для одной или нескольких конкретных функций CSS. Это называется функциональным запросом.
Пример:
@supports (display: flex) {
div {
display: flex;
}
}
@supports not (display: flex) {
div {
float: right;
}
}
MDN Ссылка: https://developer.mozilla.org/de/docs/Web/CSS/@supports
Длинный ответ:
Вы всегда будете иметь некоторые cross-browser
вопросы. Проблема, с которой вы столкнулись, беспокоит каждого Webdeveloper. Тем не менее есть способы обойти эту проблему с браузером:
1.Вы можете проверить «могу ли я использовать» для совместимости:
Ссылка: http://caniuse.com/ Рекомендуется искать любую функциональность, которая сомнительна, как анимация.
2. Используйте autoprefixer в рабочий процесс:
С помощью к autoprefixer вам не придется беспокоиться большую часть времени об использовании CSS с префиксом как -moz-, -webkit- и т. д. Этот крошечный помощник выполнит трюк для вас, вы даже можете сказать некоторые autoprefixers, какие браузеры вы хотите поддержать.
3. третьего пользователя - Партийные библиотеки:
Есть много библиотек, которые там вы можете использовать, чтобы обнаружить браузер и его версию. Если вы хотите быть уверенным в том, что ваша анимация безопасна в использовании, вы можете просто использовать предоставленную анимацию из библиотек и, конечно же, следить за совместимостью на своих соответствующих сайтах.
Некоторые большие имена:
есть еще много, этого нужно просто искать по всему миру Интернет.
4. Используйте CSS Hacks для обнаружения определенных браузеров:
можно использовать так называемый CSS-хаки. Это специальные вызовы CSS, которые применяются только к определенным браузерам.
Некоторые примеры:
Internet Explorer/Edge 8 only: @media \0screen {}
firefox ≥ 3.6 only: @media screen and (-moz-images-in-menus:0) {}
Opera ≤ 9.27 AND Safari 2: html:first-child .selector {}
Вы можете посмотреть больше Browserhacks здесь: http://browserhacks.com/
Вывод:
можно обнаружить специфические браузеры, но это не представляется возможным обнаружить если бросер поддерживает данную функцию только с CSS. Вот почему вы всегда будете иметь трудные времена с поддержкой браузера.
Надеюсь, это поможет. С уважением
Вы пытались исследовать [Modernizr] (http://modernizr.com/) для этой цели? – robjez
Я не нашел никакого теста, который проверяет, работают ли анимации CSS с SVG. –
@robjez Я просто посмотрел и не видел никакого способа определить, работает ли CSS-анимация с SVG. Это хороший вопрос. F Лекшас, ты когда-нибудь это понял? – JKillian