当我为所有选择分配基本样式时,例如。
width: 300px;
padding: 0;
margin: 0;
border-width: 1px;
在不同情况下通过 javascript 检索宽度时,我得到了意想不到的结果。
- When the select is visible the with is 298px .
- When the select is display:none , the width is also 298px (ff, jquery)
- When the select is in a div with display:none , the width is correct 300px .
(结果也是一样的赋值:box-sizing:border-box)
好吧,检索到的宽度有时与使用的浏览器和 javascript 框架不同,但总而言之,我只想能够检索分配的宽度(300px)。(我想这与这里所说的“正式的怪异”有关:http: //meyerweb.com/eric/thoughts/2007/05/15/formal-weirdness/,但为什么浏览器不使用用户指定的宽度??)
如何检索分配的宽度?真的有办法吗?
例子:
http://jsfiddle.net/ETCcH/5/(用于使用 jquery,或将 5 替换为 4,例如使用 mootools)
(使用不同的浏览器查看并尝试)