浏览器嗅探 - 边界半径 %
我认为尝试检测不支持带有 % 值的 border-radius 的浏览器是一个想法。我已经使用下面的代码来尝试检测边界半径,但它没有发挥作用。我收到一个空的警报框。
function getStyle(ele,styleProp){
var x = document.getElementById(ele);
if(x.currentStyle){
var y = x.currentStyle[styleProp];
}else if(window.getComputedStyle){
var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
}
return y;
}
$('body').append('<div id="test"></div>');
var style = getStyle('test','-webkit-border-radius');
alert(style);
我从 这里 得到了这段代码
,它似乎有些限制,对于背景颜色、高度来说很好&宽度,但对于填充、边距,当然还有边框半径,将返回空。
知道这个限制的原因是什么吗?
I thought it would be an idea to try to detect browsers that didn't support border-radius with % values. I've used the code below to try to detect for border radius but it's not playing ball. I get a empty alert box.
function getStyle(ele,styleProp){
var x = document.getElementById(ele);
if(x.currentStyle){
var y = x.currentStyle[styleProp];
}else if(window.getComputedStyle){
var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
}
return y;
}
$('body').append('<div id="test"></div>');
var style = getStyle('test','-webkit-border-radius');
alert(style);
I got this code from here
It seems somewhat limited, it's fine for background-color, height & width, but will return empty for padding, margin and of course border-radius.
Any idea what's the cause of this limitation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
诸如“margin”、“padding”和“border-radius”之类的内容都是“margin-left”、“padding-bottom”和“border-top-right-radius”等实际属性的快捷方式。尝试获取这些。
Things like "margin", "padding", and "border-radius" are all shortcuts to the actual properties such as "margin-left", "padding-bottom", and "border-top-right-radius". Try getting those.
您可以使用 modernizr 来检测边框半径支持或仅查看其代码。
You can use modernizr to detect border radius support or just have a look on their code.