gpt4 book ai didi

html - 全尺寸 div,在固定尺寸的页眉和页脚之间具有最小高度

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

我正在尝试设置一个网页,但由于我的元素的高度,我快疯了。特别是,我想要的布局是:

  • 顶部有一个固定高度(例如 150 像素)和 100% 宽度的标题。
  • 在标题下,我需要两列。左边的列有固定的宽度(例如 40px),右边的和窗口一样大。两列都有最小高度(例如,600 像素,两列相同),但如果有足够的空间,它们必须填满整个窗口,直到页脚。
  • 页面底部的页脚。它位于列下方(不得重叠!)并具有固定高度(例如 50 像素)。

我已经尝试了多种模式,但还没有找到一个可行的模式。有时我最终将页脚叠加在列上,有时列不会填满所有可用空间。我认为主要问题是最小高度要求,因为没有它问题就相当简单。我知道 CSS 属性最小高度,但仍然找不到方法。

这是我的代码(无法正常工作,右边的列变得太大,甚至没有显示页脚)。

header{
height: 40px;
width: 100%;
background-color: darkgoldenrod;
text-align: center;
}

footer{
background-color: grey;
height: 50px;
width: 100%;
text-align: center;
}

#container{
position: relative;
width: 100%;
min-height: 200px;
background-color: red;
margin-bottom: -100px;
padding-bottom: 100px;
}

#toolbar{
background-color: white;
position: absolute;
left: 0;
width: 80px;
height: 100%;
}

#drawbox{
background-color: yellow;
height: 100%;
width: 100%;
position: absolute;
left: 80px;
}
<!DOCTYPE html>
<html>
<head>
<title>BLOCKS</title>
<link rel="stylesheet" type="text/css" href="blocchi.css">
</head>

<body>
<header>
<h2>HEADER</h3>
</header>

<div id="container">
<aside id="toolbar">TOOLBAR</aside>
<div id="drawbox">DRAWBOX</div>
</div>
<footer>
<p>FOOTER</p>
</footer>
</body>
</html>

你能帮帮我吗?提前致谢!

编辑:如果可能的话,我想要一个不涉及 CSS3 属性和奇特内容的答案,因为我正在尝试学习简单的事情是如何工作的。我很确定解决方案是“div”、“position”、“height”和类似内容的组合!

最佳答案

使用 flex 盒子。将外部容器(页眉、主要区域、页脚)设为具有 max-height: 100vh; 的 flex 列。然后将主要区域设置为最小高度为 600px 或其他任何值的普通 flex 布局,并通过 flex-grow: 1;< 设置主要内容区域(侧边栏旁边)以增加所有可用空间。然后,当您向主要区域添加内容时,它会增长到 100vh 并将页脚向下推,然后页脚将位于页面底部,您可以制作主要区域(侧边栏和主要区域)内容)通过 overflow-y: auto;

滚动

*{margin:0;padding:0;box-sizing:border-box;}
header,footer {
height: 50px;
background: black;
color: white;
}
.flex {
display: flex;
}
.vert {
flex-direction: column;
}
.container {
max-height: 100vh;
}
section {
min-height: 200px;
}
aside {
background: #ccc;
width: 100px;
}
main {
flex-grow: 1;
background: #eee;
}
.scroll {
overflow-y: auto;
}
<div class="flex vert container">
<header>header</header>
<section class="flex">
<aside class="scroll"><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p><p>aside</p></aside>
<main class="scroll"><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p><p>main</p></main>
</section>
<footer>footer</footer>
</div>

关于html - 全尺寸 div,在固定尺寸的页眉和页脚之间具有最小高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41813170/

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