我想知道是否有办法检测浏览器是否能够
使用 CSS 动画 SVG 元素
简单回答:是的,正如@jhpratt 所说,您可以。
您可以检测浏览器是否仅使用 CSS 支持 CSS 功能。
@supports CSS at 规则允许您指定依赖于浏览器对一项或多项特定 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 问题。
您遇到的问题困扰着每个 Web 开发人员。仍然有办法解决这个浏览器支持问题:
1.您可以检查“我可以使用”是否兼容:
链接:http://caniuse.com/
建议查找任何可疑的功能,例如动画。
2。在您的工作流程中使用自动前缀:
在自动前缀的帮助下,您大部分时间都不必担心使用带有 -moz-、-webkit- 等前缀的 CSS。这个小助手会为您解决问题,您甚至可以告诉一些自动前缀您想要支持哪些浏览器。
3.用户第 3 方库:
您可以使用许多库来检测浏览器和版本。如果您想确保您的动画可以安全使用,您可以简单地使用库中提供的动画,当然还可以在其各自的网站上查看兼容性。
一些大牌:
还有更多,只需搜索万维网。
4.使用 CSS Hacks 检测特定浏览器:
可以使用所谓的 CSS-Hacks。它们是特定的 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 支持给定功能。这就是为什么您在浏览器支持方面总是会遇到一些困难。
希望这会有所帮助。
问候