Definition of width on columns (was Re: Agenda CSS telcon Feb 26, 2008)

On Monday 2008-03-10 19:09 -0700, Arron Eicholz wrote:
> On Tuesday, 2008-02-26 09:29 -8:00, L. David Baron wrote:
> > However, it's actually not a minimum width; it's a preferred width (what
> > CSS 2.1 actually calls "MAX").  The column width can become narrower due
> > to other constraints (down to "MIN").
> 
> It is preferred width but in using that term we would also have to
> add more text to the spec to clarify what preferred width is. I'm
> not against that but I think this is a bigger change that would
> then change many sections not just chapter 17.

Well, the problem is we really don't want the spec to say something
that's incorrect.  We'd previously agreed not to try to specify
tables further in CSS 2.1, but to postpone that to css3-tables.  If
we want to specify more and more pieces of how tables work, we need
to get it right; saying that a column or cell never shrinks below
its specified 'width' is incorrect since it's incompatible with
implementations going back years.

That said, I think we're probably better off shipping CSS 2.1 pretty
much as-is and trying to get the "feature" of specifying table
behavior in for the next release instead.

[ this piece was actually before the previous, but I want to respond
  to it after ]
> > I tend to think that 17.3 should just point to 17.5.2 for the actual
> > behavior of 'width'.  17.5.2.1 already seems adequate for fixed table
> > layout; 17.5.2.2 ought to say more about auto layout.
> 
> I don't completely disagree however the 'width' definition in
> 17.5.2.2 is non-normative. I think this is ok to point to 17.5.2.1
> for fixed table layout but for auto table layout maybe we need a
> better definition.

I don't think you're going to end up defining the behavior of
'width' on columns without making those sections normative and
completely rewriting them to be accurate, along the lines of the
proposals I've made for css3-tables at
http://dbaron.org/css/intrinsic/ (which are, however, in need of an
update).

> > In both cases, these are describing the behavior of values of 'width'
> > other than 'auto'.  We also need to define what 'auto' does; for
> > columns, I think it behaves the same as '0'.
> 
> Column 'width: auto' should behave the same as '0' and actually it
> isn't '0' but anything that is cells (border-box) width or less?

I'm not quite sure what you're saying.

However, I'd like to correct my original statement: actually, '0'
may not behave the same as 'auto' in some implementations; it may
make that column less likely to expand if the table's width is
greater than the sum of the preferred widths of its columns.  (And I
think that behavior is good, so if it's Web-compatible we should
probably keep it.)

-David

-- 
L. David Baron                                 http://dbaron.org/
Mozilla Corporation                       http://www.mozilla.com/

Received on Tuesday, 11 March 2008 15:27:53 UTC