Re: CSS Text Layout Moduleで定義された論理的プロパティとDOMで取得できるスタイル情報との関係について教えてください。

一條です。

> 岩井さん、高山さん、村上さん

回答ありがとうございます。

まず最初に。
今回、こちらのMLへ投げたのは村上さんが引用してくださった
「グループはこれらの仕様に対するコメントや質問を集めること、
定義される技術について日本固有のユースケースを調べること」
を参照して行わせていただきました。
ただ、今後の投稿も内容に気をつけてhtml5-developers-jpへ問い合わせするようにします。


>> getComputedStyle で返す値をちゃんと定義しようというのはこの2月にようやく始まった動きですので
>> <http://lists.w3.org/Archives/Public/www-style/2010Feb/0004.html>

getComputedStyle自体についても議論が行われつつあるのですね。
上記のarchivesを検索しにも行きましたが、プロパティレベルの視点で探していたので
全く知りませんでした。
今後は、CSSの値をどのようの取ってくるのかというのかと合わせて、今回の疑問点の動きを
追っていく必要がありますね。

>> (論理プロパティの算出値は、対応する物理プロパティの算出値に影響を及ぼす。
>> また逆も成り立つ)

Draftでその部分を読み逃していました。
物理プロパティで取得できるのがカスケードのルールに従って最終的に当たった値になるのが順当だろう(=今と同じ使い方になる。)とは
考えていたのですが、この一文を読むと確かに論理値で設定された値の最終値に係わらず、算出された値が取得できそうですね。
(たとえば、最終的に物理プロパティの指定で上書きされた場合、上書きした物理プロパティの値が論理プロパティ名で取得できる状態ということですよね。)
算出された値を取得するオブジェクトとしてgetComputedStyleがあるならば、それが正しい気がします。

実際にスクリプト開発時に論理プロパティの値=物理プロパティの値で事足りるのかどうかは、
開発イメージがあまりないので判断できないのですが。。。

>> ブラウザで、Mozilla と WebKit は、以前からベンダー拡張として

はい。ぜひ実験してみます。今の実装でも自分の目で確かめておきたいです。
大した実験にはなりませんが、実験結果はどこかにまとめて提示したいと思います。


皆様、ご教授ありがとうございました。

2010年5月7日20:58 MURAKAMI Shinyu <murakami@antenna.co.jp>:
> Miwako Ichijo <usa132006@gmail.com> wrote on 2010/05/07 18:04:50
>> 一條です。
>>
>> CSS Text Layout
>> Moduleで定義された論理プロパティ(margin-beforeやlogical-widthなど)をJavascriptで扱う時、
>> 以下の場合にどうなるのか、ご存知の方は教えてください。
>>
>> 1) style属性に設定された場合、style.XXXXXXXで同じように取得できるのでしょうか。
>> 2) getComputedStyle(IEだと今はcurrentStyleでしたか)でスタイルの値取得する場合はどうなるのでしょうか。
>
>> 例ではmarginを出しましたが、一番気になるのはwidthとheightです。
>> スクリプト処理で扱うことが多いプロパティはこの2つではないかと考えています。
>>
>> どのあたりの仕様を読めばいいのか、分からなくなりまして投稿いたしました。
>> よろしくお願いします。
>
>
> CSS3 Text Layout の論理プロパティは、やっと Editor's Draft に入れる
> ことができた段階なので、それが DOM でどのように扱われるかという仕様は
> まだ書かれていません。ただし、CSS3 Text Layout の次の記述から、
> 仕様の意図を汲みとってもらえたらと思います:
> (http://dev.w3.org/csswg/css3-text-layout/#logical-prop より)
>
> The computed value of a logical property affects the computed value of
> the corresponding physical property, and vice versa.
> (論理プロパティの算出値は、対応する物理プロパティの算出値に影響を及ぼす。
> また逆も成り立つ)
>
> For example, if the writing-mode of the element is lr-tb, the computed
> value of the ‘margin-before’ overrides the ‘margin-top’.
> (例えば、writing-mode が lr-tb の場合、margin-before の算出値は
> margin-top の値を上書きする)
>
> If both logical and physical properties are specified on the same
> element, these corresponding properties are treated as same property and
> then normal cascading rules are applied.
> (もし論理プロパティと物理プロパティの両方が同じ要素に指定されていたら、
> それらの対応するプロパティどうしは同じプロパティとした扱われた上で、通常
> のカスケーディング規則が適用される)
>
> つまり、この仕様としては、対応する論理プロパティと物理プロパティは、
> 結果として同じ算出値になるということが求められています。
>
>
> ブラウザで、Mozilla と WebKit は、以前からベンダー拡張として
> margin-start や margin-end が実装されています
> (before/after は無くて、start/end のみ。
> 縦書きではなくて、direction: rtl のためなので)。
>
> 使用例:
>    <style>
>      p {
>        -webkit-margin-start: 3cm;
>        -moz-margin-start: 3cm;
>        margin-start: 3cm;
>      }
>    </style>
>    <p dir="ltr">LTR!</p>
>    <p dir="rtl">RTL!</p>
>    <p style="direction: rtl">RTL!</p>
>
> Mozilla と WebKit では、DOM のプロパティ(MozMarginStart、
> webkitMarginStart など)としても定義されていますので、よろしければ
> 実験してみてください。
>
> 次のところを参照:
> http://help.dottoro.com/ljqbjiaw.php
> http://help.dottoro.com/lcqbjiaw.php
> https://developer.mozilla.org/En/CSS:-moz-margin-start
> http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266--webkit-margin-start
>
> --
> 村上 真雄 (MURAKAMI Shinyu)
> http://twitter.com/MurakamiShinyu
> Antenna House Formatter:
> http://www.antenna.co.jp/AHF/
> http://www.antennahouse.com
>
>
>



-- 
----------------------------------------------------
Miwako Ichijo(usa132006@gmail.com)
*****************************************
一條 美和子(ichijo.miwako@sankei.co.jp)

株式会社産経デジタル  情報システム部
tel 03-3275-8169 fax 03-3275-8862

Received on Saturday, 8 May 2010 05:48:38 UTC