gpt4 book ai didi

css - 嵌套的 div 没有填满屏幕

转载 作者:太空宇宙 更新时间:2023-11-04 14:11:33 25 4
gpt4 key购买 nike

我有一个包含可变大小内容的固定宽度的内部。我希望 inner-container 的高度与内容一样大,并且至少与屏幕的高度一样大(当内容较小时)。该页面还有一个固定大小的页脚。

通常我会考虑为内部和外部(根)容器设置 min-height: 100%,但这在 CSS 中不起作用。

我在下面给出的代码是我在更大页面上遇到的情况的简化示例(在 root-container 中有更多不同的元素)。绿色的 inner-container 没有像我希望的那样填满整个屏幕的高度。我确实设法做到了这一点(例如通过设置 root-containerheight 而不是 min-height,但是随后渲染当内容大于屏幕高度时表现错误(您可以通过将 font-size 更改为更大的值来快速模拟,例如 21px)。我想让它工作(绿色列填充至少屏幕的高度,在这两种情况下,整个高度的两侧都是黑色,底部是页脚)。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Example</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >

<style type="text/css">
html,
body {
height: 100%;
margin: 0;
}

#root-container {
min-height: 100%;
background: black;
color: white;
margin-bottom: -200px;
}

#root-container:after {
height: 200px;
content: "";
display: block;
}

#inner-container {
min-height: 100%;
width: 400px;
background: green;
color: white;
font-size: 11px;
margin-left: auto;
margin-right: auto;
}

#footer {
height: 200px;
background: orange;
color: black;
}

h1 {
margin-top: 0;
}
</style>
</head>
<body>
<div id="root-container">
<div id="inner-container">
<h1>Content</h1>

And when the body finally starts to let go<br/>
let it all go at once<br/>
not piece by piece<br/>
but like a whole bucket of stars<br/>
dumped into the universe<br/>
Whoh! Watcb it go!<br/>
Good-bye small hands, good-bye small heart<br/>
good-bye small head<br/>
My soul is climbing tree trunks<br/>
and swinging from every branch<br/><br/>

They're calling on me<br/>
they're calling on me<br/><br/>

Do you think I'm an animal?<br/>
Am I not?<br/>
Do you like fur<br/>
Do you wanna come over<br/>
Are we captive only for a short time<br/>
Is there splendor, I'm not ashamed<br/>
Desire shoots through me<br/>
Like birds singing<br/>
(The way you move no ocean's waves were ever as fluid)<br/><br/>

They're calling on me<br/>
they're calling on me<br/>

I hit the mark!<br/>
I target moon, I target sky, I target sun<br/>
Fall down on the world before it falls on you<br/><br/>

Like beggars, like Stars<br/>
like whores, us all<br/>
Like beggars, like dogs<br/>
Like Stars, us all<br/><br/>

Shoot straight for my heart<br/>
(And when you were near no sky was ever quite so clear)<br/><br/>

Like stars, so small<br/>
Like us, when we fall<br/>
Like beggars, like whores<br/>
Like lovers, Get Up!<br/>
Get up, too far
</div>
</div>

<div id="footer">
<h1>Footer</h1>
</div>
</body>
</html>

同样的例子上传到 JSFiddle:http://jsfiddle.net/gNT8m/

最佳答案

这是一个 bug : 具有 min-height 的 parent 的 child 不能继承 height 属性。

有许多潜在的解决方法,但您说得对,这应该按照您最初尝试的方式工作。

更新:

至于解决方法,我想到的最简单的方法是设置 display: flex在你的 #root-container .我还没有跨浏览器测试过这个解决方案,所以你可能想进一步研究它,但使用 flexbox 是一个不错的方法。

See it working .

您需要添加一些其他细节,例如添加 position: relative到您的页脚并添加一些空间( padding: <your footer's height>px )到您的 #inner-container确保您的页脚不会遮盖任何内容。

关于css - 嵌套的 div 没有填满屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706283/

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