当前位置: 首页 > 面试题库 >

如何将页脚(div)与页面底部对齐?

皇甫逸清
2023-03-14
问题内容

任何人都可以解释如何将页脚div与页面底部对齐。从我所看到的示例中,它们都显示了如何使div保持在底部可见,无论您将页面滚动到何处。虽然我不想要那样。我希望它固定在页面的底部,所以它不会移动。感谢帮助!


问题答案:

更新

我的原始答案来自很久以前,并且链接已断开;更新它,使其继续有用。

我包括内联的更新解决方案,以及JSFiddle上的工作示例。注意:尽管没有内联那些样式,但我依赖CSS重置。

HTML

<div id="wrapper">
  <div id="content">
    <h1>Hello, World!</h1>
  </div>
</div>
<footer id="footer">
  <div id="footer-content">Sticky Footer</div>
</footer>

CSS

html, body {
  margin: 0px;
  padding: 0px;
  min-height: 100%;
  height: 100%;
}

#wrapper {
  background-color: #e3f2fd;
  min-height: 100%;
  height: auto !important;
  margin-bottom: -50px; /* the bottom margin is the negative value of the footer's total height */
}

#wrapper:after {
  content: "";
  display: block;
  height: 50px; /* the footer's total height */
}

#content {
  height: 100%;
}

#footer {
  height: 50px; /* the footer's total height */
}

#footer-content {
  background-color: #f3e5f5;
  border: 1px solid #ab47bc;
  height: 32px; /* height + top/bottom paddding + top/bottom border must add up to footer height */
  padding: 8px;
}

解决方案2-Flexbox

https://jsfiddle.net/UnsungHero97/oqom5e5m/3/

HTML

<div id="content">
  <h1>Hello, World!</h1>
</div>
<footer id="footer">Sticky Footer</footer>

CSS

html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

#content {
  background-color: #e3f2fd;
  flex: 1;
  padding: 20px;
}

#footer {
  background-color: #f3e5f5;
  padding: 20px;
}

原始答案

方法仅使用15行CSS,几乎不使用任何HTML标记。更好的是,它是完全有效的CSS,并且可以在所有主流浏览器中使用。Internet Explorer
5及更高版本,Firefox,Safari,Opera等。

此页脚将永久停留在页面底部。这意味着,如果内容大于浏览器窗口的高度,则需要向下滚动才能看到页脚…但是,如果内容小于浏览器窗口的高度,则页脚将停留在底部而不是浮动在页面中间。

让我知道您是否需要实施方面的帮助。我希望这有帮助。



 类似资料:
  • 问题内容: 有什么方法可以牢记jQuery Mobile框架的操作方式来修复页面,以便页脚始终与页面底部对齐-不管高度如何。 按照目前的情况,jQuery页面的高度将发生变化,尤其是当设备从纵向旋转为横向时,因此解决方案必须考虑到这一点。 只是为了澄清-我不需要页脚位于视口的底部,而只是为了使默认页面高度不低于视口高度而工作。 谢谢。 问题答案: 您可以在CSS文件中添加此代码: 因此,页面数据角

  • 这是我的HTML: 这是我的CSS,仅用于页脚:

  • 这是我的代码,我想我的页脚是静态的在我的html页面底部,我如何修复它?

  • 问题内容: 说我有以下CSS和HTML代码: 标头部分的高度固定,但是标头内容可能会更改。 我希望标题的内容与标题部分的底部垂直对齐,因此文本的最后一行“粘贴”到标题部分的底部。 因此,如果只有一行文本,则将是: 如果有三行: 如何在CSS中完成此操作? 问题答案: 相对+绝对定位是您最好的选择: 但是您可能会遇到问题。当我尝试它时,在内容下方显示下拉菜单时出现问题。只是不漂亮。 坦白地说,对于垂

  • 我有多个div和其中大多数是浮在左边。如果我在页面上放置一个绝对和底部0px的位置,页脚将跳到页面的一半,并坐在内容的顶部。以下是我的HTML: 下面是我的CSS: