三行布局,整个布局 是否可以 自适应 中间内容高度?
首先是一个三行布局,头尾容器高度自适应(高度有限),中间容器内容 可多可少
当 中间内容 较少时
整个布局高度没有超过页面高度,这时中间容器自适应内容高度,整个布局只占整个页面空间的一部分。
当 中间内容 较多时
整个布局超过了页面高度,这时中间容器内容溢出滚动,整个布局占满整个页面空间
中间内容少 | 中间内容多 | 不正确布局 |
========== | ========== | ========== |
---------- | ---------- | ---------- |
Head | Head | Head |
---------- | ---------- | ---------- |
Line 1 | Line 1 ^ | Line 1 |
Line 2 | Line 2 | | Line 2 |
---------- | ... | | |
foot | ... v | |
---------- | ---------- | ---------- |
| Foot | Foot |
| ---------- | ---------- |
========== | ========== | ========== |
回复
1个回答
test
2024-07-07
实现的方式有很多种:
- 最简单的如果头尾高度固定,那么使用
max-height
和calc()
即可。CodePen在线Demo1 - 如果头尾高度不固定,但是有最大高度限制,那么使用
flex
布局即可。CodePen在线Demo2
具体可以借鉴张鑫旭大佬的 小测试CSS基础测试7 了解类似的布局思路。
相关文档
calc() - CSS | MDNflex - CSS | MDN
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容