【问题标题】:Filling all the available space horizontally and vertically, with divs使用 div 水平和垂直填充所有可用空间
【发布时间】:2010-11-09 21:55:14
【问题描述】:

我正在尝试在没有表格或 JavaScript 的情况下实现以下布局。


这基本上是桌面软件的常见布局。一些工具栏和中间的实际内容。我正在尝试在 Web 应用程序中复制布局。

我需要所有工具栏都灵活且可选。因此,在一种状态下,顶部工具栏可能只有 3 行图标,而在另一种情况下,所有四个工具栏都只有一点内容。

应用程序将使用 100% 的文档宽度/高度,并且不得溢出。但是,中间的 div 有 overflow: auto 并且应该在各个方向上缩放。可能会出现所有工具栏都被隐藏的情况,然后中间的 div 应该占据整个文档。

该应用程序需要 JavaScript 并且根本不支持 IE6,但我仍在寻找一种跨浏览器的方式来使用 CSS 来实现这一点。

用表格来做这件事非常简单和干净,我知道如何用 JavaScript 来做,但是我多次遇到这个问题,想停止使用表格。

【问题讨论】:

  • 我没有当前代码。我通常用表格来解决这个问题,因为我不知道用 div 来解决这个问题。我可以创建一个固定的布局示例,但我认为我的问题中的图像足以说明问题。

标签: html css layout


【解决方案1】:

不能跨浏览器兼容。 使用 jQuery javascript 插件:http://layout.jquery-dev.net/

【讨论】:

  • 这就是我害怕的。用现代浏览器和 CSS3 有什么办法吗?
  • @jmav,我很好奇为什么这个不能跨浏览器兼容。我认为这是一个延伸。我在 OP 中没有看到任何让我相信的东西,尤其是当不需要支持 IE6 时。
  • 我也很好奇。使用表格创建它非常简单、干净并且适用于所有浏览器。为什么不能用 div 完成?
  • @Jason McCreary,我很遗憾没有 JavaScript 就无法完成。 @Ezdaroth 某些浏览器不支持 % div 高度,并且 div 宽度存在一些问题。两者:再次阅读问题。