我想获得HTML的高度,但 我在CSS写的是 height:100%;在chrome中测量这个值是固定的1141
*1419 高度一直是1419,为什么我用document.body.clientHeight 和var htmlHight = document.body.scrollHeight ;得到的都 不是这个结果,应该用什么(DOM,BOM)获得 HTML 高度?
showmain中的内容使用了 float:left , 所以document.body.clientHeight 只能显示那只是BODY的高度634,在html的1419却包含了showmain的高度
我认为 凡是 带有.body.的都可以不考虑,因为,既然要的是html这个元素的高度(或者说 整张页面的高度),.dody.就可以先排除了, 除非设计的时候没想好。。。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我把结论写上面
总的来说 设置了
后就可以用clientHeight、offsetHeight来获取html了

没有设置的时候:
设置后的body跟html一样height
我是写了一个定时器 每400毫秒查一下数据 发现这里获取到的是窗口大小
效果图:
效果图:
你可以看到我的html文档中只有一个
p高度为21但是 我发现 上面的
offsetHeight //也可以是clientHeigh获取的都是body大小 当你在没有设置设置后 html就跟body等高 用上面方法就可以
貌似js获取页面元素的样式确实有点坑,你试试这样子看看:
var attrStyle = function(elem, attr) { //获取样式
你想知道还是获取?想知道的话F12,点下带框框的小箭头鼠标已过去就能看到长宽.
如果想获取高度就: document.getElementById("id").offsetHeight;
var a = document.body.offfsetTop;
alert(a);
视口宽高,
document.documentElement.clientHeight
你试试这个。
前提
html{
width:100%;
height:100%;
}
body无样式要求。
而且一般写网页都会写
html,body{
width:100%;
height:100%;
}
所以可以这么用。