2012-04-18 58 views
1

我想测试浏览器是否支持特定的css属性属性。对于CSS属性,我可以这样做检查对css属性属性的支持

document.createElement("detect").style["-webkit-overflow-scrolling"] === "" 

但是,如果我必须检查特定的类或属性,该怎么办。例如,我想测试支持

position:fixed 

我该怎么做(除了使用Modernizr)?请帮助。

回答

1
function isFixedSupported() { 
    var isSupported = null; 
    if (document.createElement) { 
     var el = document.createElement("div"); 
     if (el && el.style) { 
      el.style.position = "fixed"; 
      el.style.top = "10px"; 
      var root = document.body; 
      if (root && root.appendChild && root.removeChild) { 
       root.appendChild(el); 
       isSupported = el.offsetTop === 10; 
       root.removeChild(el); 
      } 
     } 
    } 
    return isSupported; 
} 

var canUseFixed = isFixedSupported(); //true:false 

FIDDLE

+0

你至少可以链接http://kangax.github.com/cft/#IS_POSITION_FIXED_SUPPORTED – 2012-04-18 14:26:58

+0

我一直在使用这个很长一段时间,不记得确切在哪里首先得到它,但我不认为它在那里,可能是另一个有这个功能的一百个网站之一,就像在这里经过一些搜索之后:[Stack Overflow](http://stackoverflow.com/questions)/3911866 /如何对检测,缺的-positionfixed-IN-A-通用路)。如果它起源于Kangax,我可能不知道? – adeneo 2012-04-18 14:29:07

+0

我的不好:-) – 2012-04-18 14:29:49