1

我对 YUI 对话框(又名 Overlay)进行了子类化,使其包含标题、可选工具栏、正文和可选页脚。用户也可以调整对话框的大小。

这是一个演示这一点的小提琴,但它的内容如下:

<div class="outer">
  <div class="hd"></div>
  <div class="tb"></div>
  <div class="bd"></div>
  <div class="ft"></div>
</div>

我遵循的规则是:

  • 外部最小高度与 hd.height 相同
  • 高清高度是固定的
  • tb、bd 和 ft 高度可变
  • tb 和 ft 应该换行
  • 如果可能,tb 和 ft 应该以 bd 为代价完全可见
  • 如果没有足够的空间来完全显示 tb 和 ft,则在两者之间平均分配剩余空间并隐藏 bd
  • 如果 bd 大于包含它的 div,x/y 溢出应该滚动

我已经以编程方式完成了此操作,但在 IE 7 和 8 中存在一些问题(所有这些问题都比此处描述的要复杂一些,填充、边距和边框使问题进一步复杂化)并且只有在最新版本的 Chrome 中才能干净地工作, FF 和 IE。

但不知何故,我觉得我错过了一些东西:浏览器拥有强大的布局引擎,所以我可能只是对 CSS 和 HTML 了解不足,无法编写代码以使布局引擎能够完成其工作。

这可以使用一些 CSS/HTML 魔法来完成吗?

4

0 回答 0