使用 JavaScript 或 jQuery 检测 CSS 2D 变换是否可用
我在我的网站上显示一个以 -90 度旋转的元素 但如果浏览器不支持 CSS 转换元素 看起来位置不对而且不太好。 现在我想用 JavaScript 或 jQuery 进行检测(这无关紧要) 如果 jQ 或 JS 因为我在我的网站上使用/加载了 jQ)是否支持通过 CSS 进行旋转?
我知道 Modernizr 但只是为了那件小事,我不想包含整个库(并降低速度)网站速度加载)。
I'm displaying a element on my site which I rotate with -90deg
but if a browser doesn't support the CSS transform the element
looks misspositioned and not really good.
Now I want to detect with JavaScript or jQuery (it's indifferent
if jQ or JS because I use/loaded already jQ on my site) if this rotation via CSS is supported?
I know Modernizr but just for that little thing I don't want to include that whole library (and speed down the website speed load).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这是一个基于利亚姆答案的函数。它将返回第一个受支持的前缀的名称,如果不支持任何前缀,则返回 false。
Here's a function based on Liam's answer. It will return either the name of the first supported prefix or
false
if none of the prefixes are supported.这就像你得到的一样简单,jsfiddle。它不再无限循环。
This is about as simple as you get and a jsfiddle. It no longer goes on an infinite loop.
以下是我用来检测是否支持 CSS3 转换的代码:
我故意不寻求 Microsoft 支持,因为 Microsoft 尚未发布支持 CSS3 转换的浏览器,并且我不希望我的代码自动支持我的实现未来还没有测试过。
Here's the code I'm using to detect if CSS3 transitions are supported:
I'm purposefully not looking for Microsoft support since Microsoft hasn't yet shipped a browser that supports CSS3 transitions and I don't want my code automatically supporting an implementation I haven't tested yet in the future.
只需从 Modernizr 中提取您需要的内容
首先我们需要 testProps 函数
然后运行 cssTransform 测试
如果tests['csstransforms']为true,那么您就可以使用该功能。
Just pull what you need out of Modernizr
First we need the testProps function
Then run the cssTransform test
if tests['csstransforms'] is true, then you have the feature available.
此代码测试2D 变换支持。
它可以轻松调整以检测 3D 变换 支持。只需添加“translateZ(1)”即可测试 CSS(请参阅源代码中的
defaultTestValues
)。该代码的优点是它可以检测支持的供应商前缀(如果有)。调用它:
可能的返回值:
false
,当功能不支持时,或当功能支持时
This code tests for 2D transforms support.
It can be easily adjusted to detect 3D transforms support instead. Just add 'translateZ(1)' to test CSS (see
defaultTestValues
in source code).The plus of this code is that it detects the vendor prefix supported (if any). Call it:
Possible return values:
false
, when feature unsupported, orwhen feature supported