Jquery ';车身';宽度和高度随位置变化

Jquery ';车身';宽度和高度随位置变化,jquery,html,css,Jquery,Html,Css,我有一个简单的html页面,如下所示: <html lang="en"> <head> <style> html,body { min-width:100%; min-height:100%; position:relative; } img {

我有一个简单的html页面,如下所示:

<html lang="en">
    <head>
        <style>
        html,body
        {
            min-width:100%;
            min-height:100%;
                    position:relative;
        }

        img
        {
           width:200px;
           height:200px;
        }
        </style>
    </head>

    <body>
        <img src="image.png" />
    </body>
</html>

html,正文
{
最小宽度:100%;
最小高度:100%;
位置:相对位置;
}
img
{
宽度:200px;
高度:200px;
}
现在,当我加载页面时,“主体”的宽度和高度必须至少等于浏览器窗口的全宽和全高,对吗?但是,当我使用jquery(如
$('body').height()
检索主体的高度时,它返回200px,这是主体内部图像的高度,而不是窗口的高度,实际上比图像高出很多

但当我将html和主体的位置更改为绝对而不是相对时,它的工作方式与我预期的一样。为什么会这样


编辑:对不起。我想问一下身高。我根据需要更新了问题。我知道$(window.width()和$(window.height())。这不是重点。我想知道为什么设置为相对位置时身体会失去高度。

您需要使用
$(document.width()用于获取正文或HTML文档的总宽度

使用相对位置时,当您使用jquery时,文档将获得文档中整个元素的高度,并且由于应用了绝对位置,它将获得文档本身的高度,就好像它包含在100%的全高中一样。对不起,我无法用我的话把你说清楚

但要解决这个问题,只需添加
overflow:hidden到车身,然后用jquery检查,它显然会达到全高。

使用

$('window').width();


您应该添加一个container div,并将其宽度和高度设置为100%。即使我不添加任何元素,也会得到窗口宽度。
$('document').width();