试用 HTML+CSS 实现如下布局,该布局中的 A 和 C 两个区域将分别固定在父容器的顶部和底部,B 区域的内容高度不固定,如果超出父容器高度、将出现纵向滚动条(请想象成类似手机的布局,顶部导航栏与底部操作栏保持固定,中间内容高度不固定):
时间: 2024-05-01 22:19:32 浏览: 79
这是一个比较常见的手机端布局,可以使用 CSS 的 flexbox 布局实现。以下是一个简单的实现:
HTML 代码:
```
<div class="container">
<div class="header">A 区域</div>
<div class="content">B 区域</div>
<div class="footer">C 区域</div>
</div>
```
CSS 代码:
```
.container {
display: flex;
flex-direction: column;
height: 100%;
}
.header {
height: 50px;
background-color: #ccc;
}
.content {
flex-grow: 1;
overflow-y: auto;
background-color: #eee;
}
.footer {
height: 50px;
background-color: #ccc;
}
```
解释一下上面的代码:
- `.container` 是一个 flexbox 容器,它的 `height` 设置为 `100%`,这是为了让它占满父容器的高度。
- `.header` 和 `.footer` 两个元素是固定高度的,它们的高度都设置为 `50px`。
- `.content` 元素的高度是不固定的,为了让它填充父容器剩余的空间,使用 `flex-grow: 1` 来让它占据剩余的空间。同时,为了让它的内容超出父容器时出现滚动条,使用 `overflow-y: auto`。
- `.header` 和 `.footer` 的背景色是灰色的,`.content` 的背景色是淡灰色的。
这样就完成了这个布局。当然,如果需要兼容更老的浏览器,可以考虑使用其他布局技术。
阅读全文