css,有个父容器,里面上下排列的两个子元素,上面固定,下面的自适应高度的同时嵌套两个上下排列的子元素,上面的子元素又固定,下面的自适应高度
时间: 2024-04-18 07:25:14 浏览: 211
Div父容器不根据内容自适应高度的解决
要实现一个父容器,里面上下排列的两个子元素,上面固定,下面的自适应高度的同时嵌套两个上下排列的子元素,上面的子元素又固定,下面的自适应高度,可以使用 CSS 的 flexbox 布局。以下是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<style>
/* 设置父容器为flex布局,并垂直排列 */
.parent-container {
display: flex;
flex-direction: column;
height: 100vh; /* 设置高度为视口的高度 */
}
/* 设置上部固定的子元素 */
.fixed-top {
height: 50px;
background-color: #f1f1f1;
}
/* 设置下部自适应高度的容器 */
.flex-container {
display: flex;
flex-direction: column;
flex-grow: 1; /* 填充剩余空间 */
}
/* 设置上部固定的子元素 */
.fixed-bottom {
height: 50px;
background-color: #f1f1f1;
}
/* 设置下部自适应高度的内容 */
.flex-content {
flex-grow: 1; /* 填充剩余空间 */
}
</style>
</head>
<body>
<div class="parent-container">
<div class="fixed-top">
<h2>上部固定内容</h2>
</div>
<div class="flex-container">
<div class="fixed-bottom">
<h2>下部固定内容</h2>
</div>
<div class="flex-content">
<h2>下部自适应内容</h2>
<p>这里是下部自适应的内容,高度会根据剩余空间自动调整。</p>
</div>
</div>
</div>
</body>
</html>
```
在上面的代码中,`.parent-container` 类设置了 flex 布局,并垂直排列子元素。`.fixed-top` 类设置了一个固定高度的上部子元素。`.flex-container` 类设置了 flex 布局,并占据剩余的空间。`.fixed-bottom` 类设置了一个固定高度的下部子元素。`.flex-content` 类设置了一个 flex-grow 属性为 1 的内容容器,让它填充剩余的空间。
你可以根据需要修改样式和内容。希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文