W3C home > Mailing lists > Public > www-style@w3.org > July 2007

Re: Block Model Additions: Float Positioning

From: Eli Friedman <sharparrow1@yahoo.com>
Date: Fri, 20 Jul 2007 22:10:13 -0700 (PDT)
To: www-style@w3.org
Message-ID: <696738.83582.qm@web52111.mail.re2.yahoo.com>

--- James Elmore <James.Elmore@cox.net> wrote:

> I want to start with a discussion of adding
> ‘position’ to the  
> parameters of the ‘float’ styles. This will allow
> users to  adjust  
> the positions of floated elements (or leave the
> positions alone) more  
> than just ‘float: left;’ and ‘float: right;’ permit.


Your proposal is quite complicated, and there isn't
any significant discussion of how it would be used. 
Why exactly would someone want to position floats in
arbitrary places on the page?  What effect do you want
to be able to achieve that cannot be done with current
CSS?  That would be a much better way to start a
discussion than an incomplete proposal.  I've tried to
address some of your points, but it's rather difficult
without really knowing what you're trying to do.

> I’m not sure exactly how flowing the text boxes and
> blocks around the  
> ‘floated’ block would work, especially when the
> floated element  
> extends into another block.

It seems like you would benefit from spending some
time reading the spec and understanding how floats
currently work.  And how exactly flow works around
these repositioned floats is probably the most
important/tricky part of the proposal, and where most
of the implementation work that would be required.

> A short form, using 'float: static;'

The details of how exactly this property is declared
isn't really important when you're still figuring out
what it does.

> ‘Float: static;’ would not move the floated element,
> only allow text  
> and blocks to flow around it.

How is this different from float: left (at least for
LTR text)?

> ‘Float: relative;’ would allow the floated element
> to move along with  
> the text and blocks which surround it, just as a
> ‘relative’ element  
> would, except the TRBL (top, right, bottom, left)
> parameters could  
> move the floated object relative to its original
> position. Perhaps  
> there could be another parameter which would permit
> the empty space  
> where the floated object originally was positioned
> to remain open or  
> to close, although the definition of 'float' would
> already indicate  
> that the hole would close.

What's the use of shifting a float some arbitrary
amount?  Shifting it vertically seems worthless, and
the only effect you could achieve with horizontal
positioning would be some very difficult-to-read text.
 (Something similar to this might be useful with
columns, though.)

> ‘Float: absolute;’ would allow the floated element
> to be positioned  
> in relationship to the enclosing block. This would
> be the closest to  
> the current ‘float: left;’ (or right), permitting
> more accurate  
> positioning of floated elements, perhaps with:
>      float: absolute; top: auto; bottom: auto; left:
> 0; right: auto;
> producing the same effect as ‘float: left;’

I don't see what useful layouts this could achieve,
especially considering that the web is not a medium
which gives you the kind of strict control that would
make this useful.

> Finally, ‘float: fixed;’ would place the floated
> element relative to  
> the viewport. This might be harder to program, since
> the inline,  
> text, and regular blocks would need to be ‘reflowed’
> every time the  
> viewport or the elements displayed in it changed.
> (Perhaps this could  
> be delayed until a later release, although it seems
> that it might be  
> very useful to designers.)

Marginally useful for printing at best; can you
actually imagine what it would be like to have text
constantly moving around as you scroll?  (Not to
mention it would be a huge perf hit to have to
recalculate the layout of the entire page every time
you scroll.)


Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games.
Received on Saturday, 21 July 2007 05:11:25 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:27:29 UTC