Re: [css3-layout] shorthand for slot construction

Giovanni Campagna wrote:
> 2009/10/18 Stephen Hay <>:
>> On Sun, Oct 18, 2009 at 8:48 PM, Giovanni Campagna
>> <> wrote:
>>> This also means that strange flex units are not really needed, you
>>> just go with percentages on width, height + min-width / min-height.
>>> Actually, this would make the whole ascii art concept a bit less
>>> useful (since you need to set the [min-/max-]width, [min-/max-]height
>>> on the ::slot()). We could go back to the @template syntax in the 2007
>>> version of css3-layout.
>> From a designer's perspective, almost all layout grids (I mean
>> traditional layout grids, not css3-grid) are very explicit, and
>> percentages will be good enough for most flexibility. For those rare
>> instances where they aren't, min/max on the ::slot() shouldn't be a
>> problem.
>> Why was @template changed?
> Actually, they first invented display:"abc" "ade", then they thought
> of @template, now they dropped it...
>>> In conclusion, my opinion is go tables, go absolute positioning, go
>>> percentages and go syntax sugar. New layout systems and algorithms are
>>> not that needed, not in the 2009 world of full CSS2 support.
>> Right now there is still no actual grid layout system, as tables are
>> not grids, although they share certain characteristics.
> Why are they not? Or better, what do you mean by "grid layout system"?
> To me a "grid" is just a set of vertical and horizontal offsets (the
> grid lines), at which you snap objects through some other layout
> system (absolute positioning)

That is sort of oxymoron statement in my opinion.

Absolute positioning by its definition is flow-less (or manual if you 
wish) positioning schema. When you define some layout management for
elements involved then then they are not position:absolute anymore but
rather position:static when that static position is determined by
the layout manager[1] (e.g. flow:vertical for normal <div>s or 
flow:table for rows and cells). So it is not clear what you mean.

Main difference of static from absolute positioning is that the first
one is flexible/scalable in the sense that if content in one static
element changes its dimensions then correspondent layout manager will
adjust positions and dimensions of other elements that it manages so
information presented to the human can be seen in full.

In principle position:absolute and float:left|right (when it used
for simulating flow:horizontal) should be used as an exception but
not as a rule. Remember tons of UI bugs when the same absolute 
positioned system of elements used for presenting information in 
different locales (different length of strings in different languages). 
That is all about absolute positioning. And those percentage length 
units ...

It's a pity that in 21st century CSS has nothing for authors to make
their design more stable to changing locales, font sizes, etc. Designers 
are forced to use other tools (like absolutes, floats and that ugly 
display:cell) that are not suitable for robust designs at all.

Take a look on today's W3 front page in this resolution:
Note that thing on the left sidebar that is barely readable and
items in <ul class="main_nav"> are gone completely.
So if W3C cannot do robust layouts then who can ?!


>> While I see your point, I think we still need one grid layout system.
>> My opinion is that we should take whatever is necessary from flexbox
>> and css3-grid (only the 'gr' unit IMO), add them to template layout,
>> and keep that as a grid layout system. So then:
>> Template layout = grid layout system
>> Positioning = position things on and within the grid
>> Floats = float things within the grid
>> Table layout = for laying out tables :)
> The point is: what is template that cannot be done with tables and
> content adjusting?

So we will end up in recommending authors to use tables for
layout purposes, eh?

And what is that "content adjusting"?

>> /Stephen
> Giovanni

Andrew Fedoniouk.

Received on Sunday, 18 October 2009 22:20:58 UTC