2012-07-20 63 views
0

我有边框的股利和一箱阴影:隐藏边框的box-shadow支持

div.my-div 
{ 
    border: 1px solid #555; 
    box-shadow: 0px 4px 35px rgba(0,0,0,0.5); 
} 

边界是丑陋的,但它是必要不支持影子浏览器(div的背景是与周围元素颜色相同)。

如何检测浏览器是否支持盒子阴影并删除盒子阴影?也许用JavaScript?

编辑:我想这样做没有任何依赖性(如modernizr)。

例如:

var boxShadowSupported = ???; 
if (boxShadowSupported && typeof(document.getElementsByClassName) != 'undefined') { 
    var elements = document.getElementsByClassName('my-div'); 
    for (var i= 0; i < elements.length; i++) { 
    elements[i].setAttribute('style', 'border: 0;'); 
    } 
} 
+0

使用http://的Modernizr .com/ – SVS 2012-07-20 08:27:20

+2

我宁愿有一个丑陋的边框,而不是将数千行javascript添加到我的页面。 – 2012-07-20 08:31:24

+0

怎么样:2401b〜2.4kb http://modernizr.com/download/#-boxshadow-teststyles-testprop-testallprops-domprefixes – andlrc 2012-07-20 08:34:15

回答

3

您可以复选框,shaddow浏览器支持JavaScript的:

if ('boxShadow' in document.body.style) 
{ 
    alert('I can support shadow!'); 
} 
0

也许你可以试试这个:

var foo=document.createElement("div"); 
foo.style.boxShadow="0px 0px 0px rgb(0,0,0)"; 
document.body.appendChild(foo); 
var boxShadowSupported=foo.style.boxShadow?1:0;