On 7/31/12 4:00 AM, "Florian Rivoal" <florianr@opera.com> wrote:
>The problem is not that you are
>introducing an exclusion system that doesn't handle collision. You're not
>doing that. You you're introducing an exclusion system that is orthogonal
>to collision handling.
We are introducing an exclusion system that is orthogonal to positioning
schemes. Collisions are actually something the draft takes into account.
The exclusions processing model shows what happens if multiple exclusion
areas collide, or if an exclusion area collides with the content area of
some other element. It's the responsibility of the positioning scheme to
handle collisions (or not). Exclusions work whether or not collisions are
handled.
>So yes, collisions can be handled perfectly fine *if* you chose a
>positioning mechanism that deals with them. But the problem is that you
>*can* chose a positioning mechanism that doesn't.
>
>When designing css features, we usually try to make them robust, so that
>careless authors can't shoot themselves in the foot too easily. For
>instance, on flexbox, we spent quite a bit of time discussing the default
>values of properties, so that if an author doesn't bother setting things
>up too well, he still gets sensible behavior in diverse environments.
So flexbox is set up with robust defaults, and a given set of flex items
with those defaults will result in sensible behavior in diverse
environments. Now add an exclusion to one of those flex items. Depending
on the shape, the exclusion may affect the inline content of surrounding
flex items. When that content is laid out using the exclusion processing
model, some changes to the flex item layout may occur, but it would still
follow those robust defaults and result in sensible behavior in diverse
environments.
>The exclusion mechanism is expressive, and it can be used to do a lot of
>nice things that couldn't be done before. But
>as it is, it isn't robust. Simple ways of using it will results in broken
>pages when the environment is a little different from what the author was
>using.
Please provide an example - of a layout that works fine in multiple
environments without exclusions, but with a simple exclusion causes the
layout to work in some environments and break in others.
I think your collision property proposal is interesting and probably
generally useful. Defining how it works would go in the various
positioning specs. But I do not see why exclusions should be dependent on
solving that issue.
Thanks,
Alan