我有一个 HTML 编辑器小部件,我希望它出现在一个绝对定位、固定大小的 DIV 中。但是,我事先不知道 DIV 的绝对大小,它可能会发生变化,就像用户调整窗口大小一样。
编辑器自然具有控件和可编辑区域。每个都有自己的 DIV。我希望控件占用尽可能多的空间,并希望可编辑区域填充其余空间。
如果我使用表格,这非常容易实现。我只是关闭边框、填充和边距,然后将每个 DIV 放入自己行中的一个单元格中,并可能在控件 DIV 上摆弄 max-height 。这是它的样子:
基表 http://img407.imageshack.us/img407/8435/table1.png
带有窗口的同一张桌子以另一种方式调整大小 http://img264.imageshack.us/img264/6438/table2p.png
请注意,可编辑部分占用了尽可能多的空间,而不会导致出现滚动条。
我已经对各种 CSS 示例进行了修改,如果没有在调整大小时运行一些 JavaScript 以使可编辑的 DIV 成为父级的高度减去控件的高度,似乎没有任何效果。
当然,我可以让父 DIV 具有 display:table,子 DIV 包含在 display:table-row DIV 中,并且它们本身具有 display:table-cell,但是......嗯......在这种情况下,它与使用 TABLE、TR 和 TD,但为了 CSS 纯度,丑陋十倍。(何苦?)
那么,不直接使用 display:table & friends,也不是 TABLE/TR/TD,也不是 JavaScript,有没有一种纯 CSS 的方式来做到这一点?换句话说,有没有一种纯 CSS 的说法,DIV1 占用尽可能少的垂直空间,DIV2 占用父元素内剩余的垂直空间?
如果没有,我已经准备好停止订阅“纯 CSS”的心态。在开发人员或最终用户几乎没有受益的情况下,这让我感到非常悲痛。