Re: [css3-writing-modes] a third option for implementing logical properties

--------------------------------------------------
From: "Koji Ishii" <kojiishi@gluesoft.co.jp>
Sent: Sunday, October 24, 2010 10:20 PM
To: "Andrew Fedoniouk" <news@terrainformatica.com>; "David Hyatt" 
<hyatt@apple.com>; "MURATA Makoto (FAMILY Given)" <eb2m-mrt@asahi-net.or.jp>
Cc: <www-style@w3.org>
Subject: RE: [css3-writing-modes] a third option for implementing logical 
properties

>> What about left, right, top and bottom properties for position:relative
>> | absolute | fixed? Are we going to make them logical too?
>
> Yes. And currently 34 additional properties are listed including these.

As an implementer I am dealing with different writing systems including
Japanese ttb schemes. Frequently we have screens with the mix of
different writing directions. It is very hard to think about such layouts 
using
start/end/before/after vocabulary.

One more:
left/right/top/bottom are frequently used with JS functions that do some
dynamic effects. Something tells me that next "logical" step will
be in virtualization of coordinates used in DOM events. Something
like event.logicalX and event.logicalY. That is horrible to deal with.
Especially when you have a mix of different directionalities.

>
>> What about things like background-position?
>
> I agree that this is a tough one. We still have a few options to make 
> this, and hope to show one or two within a week. As I said before, 
> vertical flow isn't an easy feature; it doesn't make just like drawing 
> emphasis marks over characters. It's a big feature, or I could say it must 
> consist of a set of several features to make documents in vertical.

To be honest vertical writing flow is not that complex.
In my case when needed it is defined simply as:

div:ttb-rtl
{
   direction: ttb; /* text flow */
   flow: horizontal-rtl; /* block flow */
}


>
>> And yet, what exactly causes padding-after to be mapped to padding-left
>> or to padding-right?
>> For example,
>>
>> p { padding-after:30px; }
>>
>> with this markup:
>>
>> <body dir="ltr">
>>   <div dir="rtl">
>>     <p>para</p>
>>   </div>
>> </body>
>>
>> what will be the used value of padding-left/right on <p>? And why?
>
> I'm not sure if I understand what you intended to ask here correctly. From 
> the definition, "after" in horizontal + rtl is "bottom", so it means 
> "padding-bottom". "padding-after" is mapped to "padding-left" if 
> vertical-rl, and "padding-right" if vertical-rl.

Sorry, mixed up padding-after with padding-end(?).
'start' and 'before' are actually bad names for such things.
In HTML 'start' usually is a document start position.
HTML itself is a "tape" having start and end.

So my question above shall be read as:

p { padding-end:30px; }

with this markup:

<body dir="ltr">
   <div dir="rtl">
     <p>para</p>
  </div>
</body>

what will be the used value of padding-left/right on <p>? And why?

Another interesting setup

p
{
  position:absolute;
  start: 3px;
}
div
{
  position:relative;
}

with this markup:

<body>
   <div dir="rtl">
     <p dir="ltr">para</p>
  </div>
</body>

Note that <P> is LTR and its container is RTL.
The question is what will be the used value of left/right
properties in this case?


-- 
Andrew Fedoniouk

http://terrainformatica.com


 

Received on Monday, 25 October 2010 07:16:41 UTC