Open Bug 359481 (table-height-rewrite) Opened 14 years ago Updated 4 years ago

redesign percentage height handling and height distribution in tables


(Core :: Layout: Tables, defect)

Not set




(Reporter: dbaron, Assigned: dbaron)


(Blocks 6 open bugs, )


After spending a good part of the week fighting with special height reflow code on the reflow branch, I'm filing a bug to suggest that we should (after the reflow branch lands) redesign the way percentage heights work on tables.

I don't think we need the "special height reflow" concept.  I think percentage height handling within tables needs to be done as a pass at the end of table layout -- a pass that looks a good bit like column width computation.  This pass should probably *also* subsume the code that gives all the cells in a row the same height.  Then, when it gives the correct height to each cell, if the cell has percentage-height children (which we now indicate with a frame state bit -- although I'm now probably propagating it only to the inner cell frame, which is probably actually sufficient), we reflow the contents of the cell as though the cell had a fixed height.

Our current behavior is quite far from compatible with WinIE, and I suspect it doesn't need to be as complicated as it is.  I've written a few examples here:

I'll try to flesh this out with more details later -- this might not be quite the right idea, but I don't think we need the complex and separate "special height reflow" pass that we have now.
Blocks: 381507
No longer blocks: 381507
Summary: redesign percentage height handling in tables → redesign percentage height handling and height distribution in tables
If this rewrite happens, please include some test examples which involve percentage height/max-height and content with overflow:scroll that is taller than the percentage heights. Compared to other browsers, firefox currently likes to ignore the percentage heights and let the height of the content expand instead of triggering overflow:scroll's scrollbar. 

For example, compare the following example on different browsers.
Alias: table-height-rewrite
Blocks: 763692
You need to log in before you can comment on or make changes to this bug.