不同版本的IE中相同的元素不同的clientWidth值

时间:2012-08-08 06:53:06

标签: html

我有以下代码来获取'内容'宽度,但是为什么它会返回IE 7,8,9的不同值? Firefox的值也不同。

如何让它返回一致的值?是不是可以不使用JQuery?

document.getElementById('content').clientWidth
document.getElementById('leftSide').offsetWidth
document.getElementById('content').clientHeight

leftside div包含在内容div中。他们唯一的风格是

background-color:white;

我得到了:

IE7 1604/297/925

IE8 1906/297/925

IE9 1910/297/1609。

FF 1610/297/1910

我试图打开“符合标准的模式”,但仍然没有什么区别......

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

谢谢,

1 个答案:

答案 0 :(得分:2)

与浏览器框模型有所不同。很大程度上取决于你是否处于怪癖模式(http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug)。缓解这些问题的最有效方法是使用JavaScript库,该库具有规范浏览器之间差异的方法(例如,jQuery的.width() .height())。