[css3-regions] auto widths and heights of regions

   # 4.2.1. Auto width on regions
   #
   # If a region's ‘width’ property is computed to ‘auto’, its resolved value is
   # computed based on the region's ::before and ::after generated content only.
   #
   # 4.2.2. Auto height on regions
   #
   # If a region's ‘height’ property is computed to ‘auto’, its resolved value is
   # computed based on the region's ::before and ::after generated content only.

Now, I wasn't there when you discussed this with Rossen, but I think this is
one of the biggest flaws with the Regions proposal as it stands today.

The inability to auto-size elements to their content restricts Regions to
fixed-size containers, giving up entirely the flexibility and robustness of
CSS layout, which by design is able to accommodate varying font sizes, screen
sizes, and amounts of content. By forbidding intrinsic sizing, even in the
height, you are restricting the use of Regions to fixed layout designs, which
are really considered bad practice for the Web and are not something we should
be designing entire new layout systems around.

It should definitely be possible for the last region to have auto height. I
assume an auto-height region would just consume all the content in the flow.
(Which will effectively force it to be the last region, actually.) Imo it
should also be possible for an intermediary region to have auto height and a
max-height and have that work, too. If there are technical concerns with auto
heights, let's solve them; I'd rather have e.g. limitations on getting sane
behavior with insane region ordering than requiring either fixed heights or
JavaScript for any reasonable region-based layout.

Wrt auto widths, intrinsic sizing for regions would be similar to the intrinsic
sizing of shrinkwrapped elements across pages: that is, the min-content and
max-content sizes are calculated across the entire flow, and the width is then
calculated per fragment using those content sizes.

[As an aside, these two sections seem to be improperly specced. Widths and
heights of boxes have rather complex calculations, and you're totally
overriding all of that. If you want to define how content-based (intrinsic)
sizes are found, you need to be specific to that, and not to defining 'auto'
widths and heights.]

~fantasai

Received on Tuesday, 27 December 2011 00:45:15 UTC