Re: New values for Float property

L. David Baron wrote:
> On Monday 2009-11-30 12:23 -0600, Tab Atkins Jr. wrote:
>> On Mon, Nov 30, 2009 at 11:35 AM, Alan Gresley <alan@css-class.com> wrote:
>>> This is not entirely correct. right-to-left layout with floats is currently
>>> implemented correctly in the latest versions of Firefox and IE8 with rtl
>>> bidirection (dir="rtl"). Fails in both Safari and Opera.
>> Huh.  I don't see that interpretation supported in the specs, though.
>> float:left says that it floats *to the left*, not to whichever side is
>> the opposite of the text progression direction.  Perhaps this is a
>> bug?
> 
> That testcase isn't about float:left and right swapping sides for
> rtl.  It's about the overflow behavior when a float to the end-edge
> (i.e., float:right in ltr, float:left in rtl) is wider than its
> container.
[...]
> -David

The test case I provided did have a very wide container but remember 
overflow only comes into play when the content exceeds the viewport. If 
the floated container was say 700px, it would not normally overflow. If 
I was to resize the viewport to 600px though, then overflow would comes 
into play.

Please don't tell me that we are considering the scenario of an element 
floated left now acting as an element floated right for rtl (swapping 
sides). To make the literal meaning of right and left to act in the 
opposite sense for rtl is absurd.

Using an analogy, two people, one from a place that is accustomed to ltr 
text and the other person from a place that is accustomed to rtl text. 
They both bring the same book to compare, one ltr and the other rtl and 
each book is printed in there respective language. Now ask them both 
what is on the left and what is on the right in both books?

Floats act in a manner like list items. For rtl, the list markers appear 
on the right hand side of the list and each list item is indented from 
the right by the property padding-start. So when we have in the style 
*float: left* or *float: right*, we are really dealing with something 
that is behaving as *float: left-start* or *float: right-start* 
respectively.


-- 
Alan http://css-class.com/

Armies Cannot Stop An Idea Whose Time Has Come. - Victor Hugo

Received on Tuesday, 1 December 2009 05:14:04 UTC