gpt4 book ai didi

javascript - 简单的 CSS 梯度检测

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:24 25 4
gpt4 key购买 nike

所以我需要检测用户的浏览器是否支持 CSS 渐变,仅此而已。我会使用 Modernizr,但即使只包括梯度检测,与我自己做相比也是浪费。

据我了解,这将是解决问题的方法;

  1. 创建一个不添加到 DOM 的元素
  2. background-image 设置为带有所有 vendor 前缀的 linear-gradient
  3. 读取 background-image 并检查 gradient,看它是否仍然存在

虽然我无法弄清楚 Modernizr 的来源,但他们在这方面所做工作的核心是什么?所以我可以自己做。 http://modernizr.com/download/#-cssgradients-prefixes

最佳答案

只是添加我使用的确切代码,以供引用。在这里:

var mElem = document.createElement('modern'),
mStyle = mElem.style;

mStyle.backgroundImage = "linear-gradient(left top, #9f9, white)";
mStyle.backgroundImage = "-o-linear-gradient(left top, #9f9, white)";
mStyle.backgroundImage = "-moz-linear-gradient(left top, #9f9, white)";
mStyle.backgroundImage = "-webkit-linear-gradient(left top, #9f9, white)";
mStyle.backgroundImage = "-ms-linear-gradient(left top, #9f9, white)";
mStyle.backgroundImage = "-webkit-gradient(linear, left top, right bottom, from(#9f9), to(white))";

if (mStyle.backgroundImage.indexOf("gradient") == -1) alert("Gradients are not available. Get a better browser and try again.");

它的工作原理与 Modernizr 的实现完全相同,但我只是手写了各种渐变,而不是自动完成。对于如此小的特征检测,没有必要自动完成。

关于javascript - 简单的 CSS 梯度检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com