Open Bug 400776 Opened 17 years ago Updated 2 years ago

table-layout:fixed with width:auto should use fixed layout

Categories

(Core :: Layout: Tables, defect)

defect

Tracking

()

People

(Reporter: dbaron, Unassigned)

References

Details

(Keywords: css2)

In bug 368600 comment 8, I wrote:

-----
So this patch moves us away from compatibility with IE, except for the one case
where all the cells in the table have specified widths.  What we should really
do, I think, is handle that case in the ComputeAutoSize code for fixed layout
tables, or something like that.  But if we don't have time to do that for 1.9,
we probably should do this, so that we're at least in the state where we were
in 1.8.

So r+sr+a=dbaron, but please make sure there's a bug filed on undoing this and
fixing the size computation.
-----

In other words, we should support table-layout: fixed when widths are auto (i.e., revert the patch to bug 368600), but to do that compatibly we need to fix the ComputeAutoSize code to compute the correct width rather than the containing-block-based width in the case where all the cells in the first row or all the columns have specified widths.
The reftest for bug 374927 is currently broken due to the issue covered in this bug.

So, when this bug is fixed, we should be able to remove the "fails" tag from bug 374927's reftest.
Blocks: 374927
Mmmmh... but this doesn't violate CSS2 specs? I quote:

--------------
The table's width may be specified explicitly with the 'width' property. A value of 'auto' (for both 'display: table' and 'display: inline-table') means use the automatic table layout algorithm.
--------------

http://www.w3.org/TR/CSS2/tables.html#fixed-table-layout
Pay attention to CSS 2.1, not CSS2.  CSS 2.1 says:

The table's width may be specified explicitly with the 'width' property. A value of 'auto' (for both 'display: table' and 'display: inline-table') means use the automatic table layout algorithm. However, if the table is a block-level table ('display: table') in normal flow, a UA may (but does not have to) use the algorithm of 10.3.3 to compute a width and apply fixed table layout even if the specified width is 'auto'. 

http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
Ok sorry (damned Google...)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.