首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查是否支持css box-shadow (jQuery)?

如何检查是否支持css box-shadow (jQuery)?
EN

Stack Overflow用户
提问于 2010-08-20 01:38:33
回答 2查看 2.7K关注 0票数 3

我正在创建一个完整的css布局。但是,某些浏览器(如IE6)不支持框阴影(..和-webkit-box-shadow或-moz-box-shadow)。我想检查它是否不受支持,然后添加其他样式。

在jQuery中这是怎么可能的?

马蒂·莱恩

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-20 01:42:57

代码语言:javascript
复制
var check = document.createElement('div');

var shadow = !!(0 + check.style['MozBoxShadow']);
if(shadow)
   alert('moz-box-shadow available');

这就是doing-it-yourself的方式。另一个可靠的方法是modernizr库,它可以为您进行特征检测。

http://www.modernizr.com/

这里根本不需要jQuery。

票数 9
EN

Stack Overflow用户

发布于 2013-04-11 23:31:40

Quick Tip: Detect CSS3 Support in Browsers with JavaScript中描述了一个简洁的函数(纯JavaScript,不支持jQuery),用于检查浏览器支持哪些CSS特性。

函数如下:

代码语言:javascript
复制
var supports = (function() {
   var div = document.createElement('div'),
      vendors = 'Khtml Ms O Moz Webkit'.split(' '),
      len = vendors.length;

   return function(prop) {
      if (prop in div.style) {
          return true;
      }

      prop = prop.replace(/^[a-z]/, function(val) {
         return val.toUpperCase();
      });

      while (len--) {
         if (vendors[len] + prop in div.style) {
            // browser supports box-shadow. Do what you need.
            // Or use a bang (!) to test if the browser doesn't.
            return true;
         } 
      }

      return false;
   };
})();

用法如下:

代码语言:javascript
复制
if (supports('boxShadow')) { 
   // Do whatever
}

它对我来说就像是一个护身符!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3524554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档