$('body')。offset()。top总是返回8,即使页面上没有别的东西也是如此

时间:2014-08-29 07:12:15

标签: javascript jquery offset

我的印象是$('body').offset().top应该返回0,但显然它会一直返回8。我从网页上删除了所有不必要的代码,但仍然会返回8

这就是我所拥有的:

<!DOCTYPE html>
<html lang="en">
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script>
            $(document).ready(function () {
                console.log($('body').offset().top);
            })
        </script>
    </body>
</html>

这就是我代码中的所有内容。这是JSFiddle:http://jsfiddle.net/Lspkx2su/

2 个答案:

答案 0 :(得分:6)

默认CSS。插入此内容:

<style>
  html, body { margin: 0 }
</style>

再试一次。

答案 1 :(得分:0)

默认情况下,body标签的样式会占用网页中的空间。

试试你会理解的代码 -

HTML

<body>
<div class="wrapper">
Hello World
</div>
</body>

和以下CSS

.wrapper{
border: 1px solid red;
}

运行上面的代码时,您会看到显示的“Hello World”具有较小的偏移量。这是HTML / CSS中的默认值。

但是,@ amadan是绝对正确的。您应该始终使用以下内容来启动您的网页CSS。不会发生偏移问题。

body{
  margin:0;padding:0;  
  /* considering your outermost div to be the wrapper of your whole page */
}