这里要注意的关键是页脚的高度不会固定,而是随其内容而变化。
当我说“粘性页脚”时,我将其理解为“不高于视口底部的页脚,但如果有足够的内容,它将被隐藏,直到用户滚动为止”的通用定义。下降到足以看到它的程度。”
另请注意,我不需要支持旧版浏览器。如果CSS display: table
和相关属性在这里有所帮助,那么它们是公平的游戏。
这里的所有其他解决方案都已过时,并且使用JavaScript或table
黑客手段。
随着CSS flex模型的问世,解决高度可变的粘性页脚问题变得非常非常容易:尽管以在水平方向上布局内容而著称,但Flexbox对于垂直布局问题也同样有效。您所要做的就是将垂直部分包装在flex容器中,然后选择要扩展的部分。他们会自动占用容器中的所有可用空间。
注意标记和CSS是多么简单。没有桌子黑客或任何东西。
当前使用的96%以上的浏览器都支持flex模型。
html, body {
height: 100%;
margin: 0; padding: 0; /* to avoid scrollbars */
}
#wrapper {
display: flex; /* use the flex model */
min-height: 100%;
flex-direction: column; /* learn more: http://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ */
}
#header {
background: yellow;
height: 100px; /* can be variable as well */
}
#body {
flex: 1;
border: 1px solid red;
}
#footer{
background: lime;
}
<div id="wrapper">
<div id="header">Title</div>
<div id="body">Body</div>
<div id="footer">
Footer<br/>
of<br/>
variable<br/>
height<br/>
</div>
</div>
问题内容: 有什么方法可以使用CSS将页脚粘贴到浏览器屏幕的底部或紧随内容之后(取决于哪个较长), 而无需 提前知道页脚的大小? 现在,我在容器中使用绝对位置,该容器中放置页脚,并且容器的最小高度为100%,但是如果更改页脚,我必须更改容器底部的填充以匹配其高度。 问题答案: 摘要: 对于具有页眉,内容区域和页脚的网站: 组 将您的身体(或包装div)设置为 将页眉,页脚和内容区域设置为。给您的页
问题内容: 如何让您的div一路下滑?如何填充父div的垂直空间?如何在不使用背景图像的情况下获得等长的列? 我花了几天时间使用Google搜寻和剖析代码,以了解如何尽可能简单高效地完成等长列。这是我想出的答案,我想在一个小教程中与社区复制和粘贴样式共享此知识。 对于那些认为这是重复的,不是。我受到几个网站的启发,其中包括http://matthewjamestaylor.com/blog/equ
编辑:codesandbox:https://codesandbox.io/s/40xj3zv5w7上的示例,图像变得非常小,而不是400px宽和10px高。
问题内容: jQuery是否有任何语法方法来定义多个CSS属性,而无需像这样将所有内容都放在右边: 如果您有20条这样的代码,那么您将很难阅读,有什么解决方案吗? 例如,通过jQuery API,jQuery可以理解并返回正确的值 和 请注意,对于DOM表示法,属性名称周围的引号是 可选的 ,但对于CSS表示法,由于名称中的连字符,因此 必须 使用引号。 问题答案: 即使您有1个或更多,也最好只使
问题内容: 我需要在CSS中定义的src属性。有没有办法指定这个属性? 问题答案:
问题内容: 我正在尝试制作一个带有固定标题和可滚动内容区域的网页。当集管具有已知高度时,这是微不足道的,但是我正在努力寻找集管处于流动状态的解决方案。 我想要的布局是: 其中“头”是其内容所需的高度,“内容”没有最小高度,但在变为可滚动状态之前将达到视口底部的最大高度。 这些天来使用纯CSS可能吗?我的目标是IE8 +。 问题答案: 假设您所说的“固定” ,我认为在纯CSS中是不可能的,因为该元素