【发布时间】:2015-05-03 09:15:31
【问题描述】:
我正在为应用程序布局而苦苦挣扎。我想只用 HTML 和 CSS 来实现它,但绝望正在逼近。我需要:
- 固定高度、100% 宽度、静态标题
- 固定高度、100% 宽度、静态页脚
- 一个固定宽度的内容区域,居中和完整的剩余高度
内容区需要:
- 2 列,均为全高
以上内容相当简单,但可能需要更改以适应下一部分。
每列需要:
- 静态标题
- 静态页脚
- 页眉和页脚之间的可滚动内容区域
我花了一天时间尝试各种方法(甚至是一种基于--gasp--tables 的方法),但没有真正成功。
|--------------------------------------------------|
| Fixed height, 100% width, static page header |
|----|-------------------|--------------------|----|
|Fixed Col 1 header | Fixed Col 2 header |
|-------------------|--------------------|
| Scroll overflow | Scroll overflow |
| Fixed width | Fixed width |
| Full height | Full height |
| | |
| | |
|-------------------|--------------------|
|Fixed Col 1 footer | Fixed Col 2 footer |
| | |
|----|-------------------|--------------------|----|
| Fixed height, 100% width, static page footer |
| |
|--------------------------------------------------|
【问题讨论】:
-
你能显示你的代码吗?在 jsfiddle 中。
-
我没有可行的解决方案。但是,这个基于表格的 JSFiddle 在 IE 中“部分”工作。在 Firefox 中不起作用。我已经接近使用
display: table-row;和display: table-cell;jsfiddle.net/vna48w5w/1 复制表格版本了 -
叹息...不要使用表格进行布局。除非您要显示其表格数据。我会尽力为你解决这个问题。
-
感谢您抽出宝贵时间调查此事。 (我确实理解“
用于数据表,而不是布局。”在我的情况下,充分意识到使用表格进行布局的典型缺点,我可以在这种情况下接受它们。我更愿意不过,请避免使用 JS 进行布局。) -
你要支持什么版本的IE?如果只有 IE 11,你应该使用css-tricks.com/snippets/css/a-guide-to-flexbox