html - 如何创建一个简单的头/中心/脚布局?

标签 html css

我想做的事情听起来非常简单,但由于某种原因我无法让它工作......我想要一个具有特定大小的 block 元素,它具有三个子 block 元素:一个标题,一个中心区域和一个页脚。它必须具有以下特征:

  • 页眉和页脚只占用内容所需的高度。此内容是动态的,所以我不能在这里使用固定大小。因此,假设标题中的文本已本地化。它可以是简短的英文文本(一行)或较长的法文文本(换行成两行)。
  • 中心区域占据所有其他空间。我的意思是它真的占据了所有空间,而且它不仅仅是位于中心的顶部。因此,如果中心元素有背景色,那么这种颜色必须对页眉和页脚之间的整个空间可见。或者,如果中心元素是图像,则必须将其拉伸(stretch)到页眉和页脚之间的区域。
  • 所有尺寸在创建时都是未知的,因此使用绝对定位不起作用。在中心元素上使用通常的边距技巧也不起作用,因为页眉/页脚的高度是未知的,因为它是动态的。
  • 没有 JavaScript 黑客攻击。
  • 必须在 IE7+、FF3+、Chrome 和 Safari 中运行。

让我们来看这个示例代码:

<div style="width: 512px; height: 512px">
  <div class="head">This is the header</div>
  <div class="center">This is the center area</div>
  <div class="foot">This is the footer</div>
</div>

最后应该是这样的:

+--------------------------+
| This is the header       |
+--------------------------+
| This is the center area  |
|                          |
|                          |
|                          |
|                          |
|                          |
+--------------------------+
| This is the footer       |
+--------------------------+

我该怎么做?即使使用老式表格并为中心单元格使用 height="100%"我也无法正常工作,因为表格在 IE7 中太大了(中心区域为 512px,因此表格本身为 512px 加上高度页眉和页脚单元格)。

我要搜索的是一些 CSS 代码,使上述 HTML 代码(或任何替代 HTML 代码,甚至允许使用真正的 HTML 表格)如上文所述显示并匹配上面列出的所有条件。

最佳答案

更新

这是另一个 fiddle ... http://jsfiddle.net/zDfHs/

内容不会有 100% 的高度,但您可以使用 JavaScript 更改它。目前,我不知道有什么方法可以通过纯 CSS 实现它。

希望对您有所帮助。
赫里斯托


看看这个 fiddle :http://jsfiddle.net/qrUAy/

Matthew James Taylor 的网站实际上非常好,他的布局绝对不是骗局 :) 但您有权发表自己的意见。不管怎样,这是简单的页眉/内容/页脚布局...

http://matthewjamestaylor.com/blog/ultimate-1-column-full-page-pixels.htm

希望对您有所帮助。
赫里斯托

关于html - 如何创建一个简单的头/中心/脚布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5587030/

相关文章:

css - 链接在仅 CSS 的向下切换汉堡菜单中不活动

javascript - 将文本替换为 HTML 文件中的 html 标签

html - 我可以选择这个 <link> 而不用 CSS 选择器添加任何类吗?

html - 如何创建像 Treehouse 这样的左侧导航栏?

css - 悬停在自动填充建议上时输入的文本非常小

css - 为什么我的文本在 Safari 和 Chrome 中对齐,但在 Internet Explorer/Firefox 中不对齐?

html - 如何将文本环绕在右下角的 div 周围?

jquery - 使用 jQuery 隐藏父 div 问题

css - Fluid 960 Accordion 扩展

javascript - 重用 HTML 和 css