css显示页脚下方的大量空间

css显示页脚下方的大量空间,css,Css,请参见此链接中的图像: 在上面的图片链接中,我已经用黑色矩形覆盖了页脚,我希望它应该始终位于最后一个底部,没有任何底部的边距 实际上,当我删除页脚上方的一个div时,问题就出现了。 我给你的代码负责这一点: HTML 页脚上方的div框的css。实际上,这是我编辑页边空白底部时的责任,但我想知道如何使页脚底部没有空格。 同时,div box的CSS为: .box { background:#fbfcfc; height:100%; padding:1px; margin-bottom:1

请参见此链接中的图像:

在上面的图片链接中,我已经用黑色矩形覆盖了页脚,我希望它应该始终位于最后一个底部,没有任何底部的边距

实际上,当我删除页脚上方的一个div时,问题就出现了。 我给你的代码负责这一点:

HTML

页脚上方的div框的css。实际上,这是我编辑页边空白底部时的责任,但我想知道如何使页脚底部没有空格。 同时,div box的CSS为:

    .box { background:#fbfcfc; height:100%; padding:1px; margin-bottom:10px; }
当我做边距底部:140px时,它在末尾显示页脚。但我仍然想知道如何使页脚在底部没有空间从底部无论内容是短或大

请分享你的知识

更新: 我的一位同事也遇到了类似的问题,我只是碰巧想到这一次,也许这可以很容易地用CSS来回答。对于应该位于内容底部的页脚,简单的基于高度的媒体查询非常适用,除非内容比视口短,在这种情况下,页脚应该与视口底部对齐。如果是这样的话。也许这应该是最好的:

最后,对高度使用媒体查询,并确定视口高度是高于还是低于主体和页脚的高度。然后使用链接中显示的媒体查询以不同方式处理这些事件

方法1:始终在底部

如果你想让它一直停留在底部,你可以设置

footer {
  position: absolute;
  bottom: 0;
}
但是,这意味着,如果页面内容比视口长,则会与页脚文本后面的正文发生冲突

方法2:最小高度

您还可以为body content div设置一个最小高度,以便大致估计用户视口的位置:

.body-content {
  min-height: 580px;
}
这不会一直得到它,因此在主体内容和页脚之间可能会有太多的空间,将页脚推到折叠下方,或者如果用户的窗口比预期的高,则页脚和视口底部之间仍可能有间隙

方法3:jQuery两全其美

如果您已经在您的站点中使用jQuery,这是一种方法

var pageHeight = $('body').height(),
  footerHeight = $('footer').height();
if (pageHeight < $(window).height() - footerHeight) {
  $('footer').css({
    'position': 'absolute',
    'bottom': '0'
  });
} else {
  $('footer').css({
    'position': '',
    'bottom': ''
  });
}
如果是长页面,这将允许页脚与内容正常对齐;如果是短页面,则将使用上面的方法1。将css属性设置为,将它们从内联样式中删除,从而将它们恢复到定义的设置

这里有一个 和更新: 我的一位同事也遇到了类似的问题,我只是碰巧想到这一次,也许这可以很容易地用CSS来回答。对于应该位于内容底部的页脚,简单的基于高度的媒体查询非常适用,除非内容比视口短,在这种情况下,页脚应该与视口底部对齐。如果是这样的话。也许这应该是最好的:

最后,对高度使用媒体查询,并确定视口高度是高于还是低于主体和页脚的高度。然后使用链接中显示的媒体查询以不同方式处理这些事件

方法1:始终在底部

如果你想让它一直停留在底部,你可以设置

footer {
  position: absolute;
  bottom: 0;
}
但是,这意味着,如果页面内容比视口长,则会与页脚文本后面的正文发生冲突

方法2:最小高度

您还可以为body content div设置一个最小高度,以便大致估计用户视口的位置:

.body-content {
  min-height: 580px;
}
这不会一直得到它,因此在主体内容和页脚之间可能会有太多的空间,将页脚推到折叠下方,或者如果用户的窗口比预期的高,则页脚和视口底部之间仍可能有间隙

方法3:jQuery两全其美

如果您已经在您的站点中使用jQuery,这是一种方法

var pageHeight = $('body').height(),
  footerHeight = $('footer').height();
if (pageHeight < $(window).height() - footerHeight) {
  $('footer').css({
    'position': 'absolute',
    'bottom': '0'
  });
} else {
  $('footer').css({
    'position': '',
    'bottom': ''
  });
}
如果是长页面,这将允许页脚与内容正常对齐;如果是短页面,则将使用上面的方法1。将css属性设置为,将它们从内联样式中删除,从而将它们恢复到定义的设置

这里有一个
还有另一件事需要检查,我最近不太清楚的是,确保你没有页脚内容,即页脚内部的元素,在页脚下方悬空。如果页脚内的容器的高度高于页脚的高度,则可能发生这种情况


这可以通过Firefox Web Developer插件中的Inspector工具检测到。检查器在您悬停的每个元素周围放置一个虚线边框,您可以查看是否有段落或div之类的内容悬挂在页脚下方的空间中。

另一件需要检查的事情,但不太明显 我最近一直在努力解决这个问题,以确保你没有页脚内容,也就是说,页脚内部的元素,在你的页脚下面。如果页脚内的容器的高度高于页脚的高度,则可能发生这种情况


这可以通过Firefox Web Developer插件中的Inspector工具检测到。检查器在您悬停的每个元素周围放置一个虚线边框,您可以查看是否有段落或div之类的内容悬挂在您的页脚下方。

我最近遇到了一个类似的问题-原来主包装容器没有设置为overflow:hidden,这为我立即解决了问题,在尝试将页脚设置为绝对位置之前,可能会再次检查此选项。

我最近遇到了一个类似的问题-原来主包装容器没有设置为overflow:hidden,这为我立即解决了问题,在尝试将页脚设置为绝对位置之前,可能会再次检查此选项。

查找粘性页脚-已被询问约1000万次此答案可能有用查找粘性页脚-已被询问约1000万次此答案可能有用感谢大家宝贵的时间。问题解决了。谢谢大家宝贵的时间。问题解决了。在我的例子中,页脚中容器的高度大于页脚的高度。谢谢Gregory。在我的例子中,页脚中容器的高度大于页脚的高度。谢谢格雷戈里。