html - 最小高度不适用于 body

标签 html css

我在使用 min-height: 100% 时遇到了一些问题

我希望页脚始终位于我的内容下方。意思是,如果内容长于屏幕高度,您将看不到页脚,直到您一直滚动到底部

此外,当内容短于屏幕高度时,页脚需要位于屏幕底部。好吧,我想我只是通过添加 min-height: 100%

解决了这个问题
<html>
    <head>
        <style>
            html, body, main { min-height: 100% }
        </style>
    </head>
    <body>
        <main>
            <article> .... </article>
            <footer> ... </footer>
        </main>
    </body>
</htm>

DEMO

现在,出于某种原因,body 标签似乎忽略了这个设置,它的高度正好适合内容。

不幸的是,您不能只将正文设置为 100% ( DEMO )

有什么解决办法吗?

最佳答案

粘性页脚 'hack' 通常使用页脚父元素上的 min-height 和负 margin-bottom 完成。根 html 之前的所有父元素都需要 height:100%;

article{
  //height: calc(100% - 50px);
  min-height: 100%;
  background: yellow;
  padding-bottom: 50px;
  margin-bottom:-50px;
}

JSFIDDLE LONG CONTENT

JSFIDDLE SHORT CONTENT

关于html - 最小高度不适用于 body ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134714/

相关文章:

javascript - css/javascript绕圆弧旋转图像

javascript - 如何使用 javascript 和 HTML DOM 更新 HTML 元素的颜色?

html - 轮播中的文本响应(Bootstrap 4)l

javascript - Foundation 5 中的动态输入框宽度

css - 相当于 Less : @import (inline) "my.css" 的 Scss

android - 地址栏隐藏 iOS/Android/Mobile Chrome 时背景图片跳转

php - Aptana Studio 3 无法识别 .html 中的 PHP

javascript - 将现有的移动 HTML 设计与 sencha touch 集成

javascript - 如果在 php 和 javascript 的帮助下提交为空白,如何更改输入文本颜色?

css - 防止包含 CSS 菜单的 div 在不破坏菜单下拉菜单的情况下换行