none
求助:在IE9中,TEXTAREA的高度测量问题! RRS feed

  • 问题

  • 一个页面里面有一个TEXTAREA,我通过style指定height:80px:

    <textarea id=tx cols=80 style="height:80px;padding:0px"></textarea>

    打开页面的时候,我用截图工具手工测量过,这个文档框的高度的确就是80个像素(包括边框)。

    然后我通过JS代码:

    //"o"代表textarea对象

    var h = o.clientHeight + o.currentStyle.borderTopWidth + o.currentStyle.borderBottomWidth;

    来计算这个文本框的高度,计算出来的结果居然是82!

    根据MSDN文档说明,clientHeight指的是包含了padding,但不包含border、margin的高度,所以我需要手工加上文本框的边框宽度。

    通过F12工具,我在“布局”那里看见,这个文本框的border居然是2px,可我明明在界面上看到是1px的,这究竟是什么问题?是否BUG?

    同样的代码在FireFox、Chrome浏览器下完全正常!


    da jia hao!

    2012年3月10日 16:33

答案