0

我有一个带有边框和框阴影的 div:

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

边框很丑,但是对于不支持阴影的浏览器来说是必须的(div的背景和周围元素的颜色一样)。

如何检测浏览器是否支持 box-shadow,并移除 box-shadow?也许用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;');
  }
}
4

2 回答 2

3

您可以使用 javascript 检查 box-shadow 浏览器支持:

if ('boxShadow' in document.body.style ) 
{
    alert('I can support shadow!');
}
于 2012-07-20T08:42:09.407 回答
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;
于 2012-07-20T08:43:53.087 回答