2

我有这个 div:

#centerFrame { background-color:#888; height:100px; width:100px; }
<div id="centerFrame" style="border-top-left-radius: 25px 0px;"></div>

但是当我尝试获取边界半径的值时,它总是返回 0px,我怎样才能获得这两个值?

console.log($("#centerFrame").css("border-top-left-radius"));
>0px
4

3 回答 3

2

普通的 JS 似乎可以解决问题:

document.getElementById('centerFrame').style.borderTopLeftRadius;

小提琴

于 2013-09-12T21:51:54.457 回答
1

0px对于水平/垂直半径分量来说不是一个有意义的值,因此浏览器会以不同的方式解释整个属性。如果与 的总半径不同,半径分量究竟0px会是什么样子0px

反例:

<div id="centerFrame" style="border-top-left-radius: 25px 5px;"></div>

http://jsfiddle.net/mattball/cCYAe/

于 2013-09-12T21:53:17.537 回答
0

我认为正确的答案将是其中之一,而无需离开 jquery 上下文,因为其中任何一个都获得计算样式但属性值:

$("#centerFrame").prop("style")["border-top-left-radius"];

或者

$("#centerFrame").get(0).style.borderTopLeftRadius;
于 2013-09-24T19:57:09.000 回答