gpt4 book ai didi

html - 将页脚保持在底部但不粘?

转载 作者:行者123 更新时间:2023-11-28 01:45:04 24 4
gpt4 key购买 nike

我的基本布局很简单:

header {
background: red;
}

main {
background: aqua;
font-size: 48px;
}

footer {
background: grey;
position: fixed;
bottom: 0;
width: 100%;
padding: 20px;
}
<header>head</header>
<main>
Curabitur aliquam convallis luctus. Vestibulum dolor turpis, consectetur a placerat eget, pellentesque id eros. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
</main>
<footer>foot</footer>

如果我将页脚设置为 position:fixed,它会留在页面底部,但它是一个“粘性”页脚并在需要滚动时覆盖内容。

我想将页脚保留在底部,但不是固定

这甚至可以用纯 CSS 来做吗?

JSFiddle

最佳答案

如今,flex 或 grid 可以轻松完成:

  • 网格:

body {
margin: 0;
min-height: 100vh;
display: grid;
grid-template-rows: auto 1fr auto;
}

body>* {
padding: 0.5em;
border: solid;
margin: 2px;
}


/* does it push footer down if too tall */

main:hover {
padding-bottom: 100%;
}
<header>header</header>
<main>main</main>
<footer>footer</footer>

  • flex

body {
margin: 0;
min-height: 100vh;
display: flex;
flex-flow: column;
}

main {
flex-grow: 1;
}

body>* {
padding: 0.5em;
border: solid;
margin: 2px;
}

/* does it push footer down if too tall */

main:hover {
padding-bottom: 100%;
}
<header>header</header>
<main>main</main>
<footer>footer</footer>


对于任何好奇或喜欢过去的人 display:table/table-row (仅当您的浏览器不支持显示且不知道页脚大小时使用):

body {
margin: 0;
height: 100vh;
width: 100%;
table-layout: fixed;
display: table;
border-spacing: 2px;
}

header > div,
footer > div {
height: 0; /* will grow like a table*/
}

body>* {
display: table-row;
}

body>*>div {
display: table-cell;
padding: 0.5em;
border: solid;
margin: 2px;
}

/* does it push footer down if too tall */

main:hover > div {
padding-bottom: 100%;
}
<header>
<div>header</div>
</header>
<main>
<div>main</div>
</main>
<footer>
<div>footer</div>
</footer>

关于html - 将页脚保持在底部但不粘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23307051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com