Re: 控制伸縮流的方向的 'flex-flow' 屬性的值的設計問題

(12/07/03 16:31), Hawkeyes Wind wrote:
> 
> 于 2012/7/3 9:47, Kang-Hao (Kenny) Lu 写道:
>> (下面敘述裡用規範裡定義的字彙[1])
>>
>> 在 CSS 可伸縮盒布局模組中,控制伸縮項目排列方向[2]的屬性是:
>>
>>    flex-direction: row | column | row-reverse | column-reverse
>>
>> 和
>>
>>    flex-wrap: nowrap | wrap | wrap-reverse
>
> 从命名的感觉是来看,flex-direction指的是盒子们的排列方向,flex-wrap指的
> 是换行的方向,所以两个应该是不冲突的。

應該說,在我的 B 的解釋裡 'row-reverse' 和 'wrap-reverse' 也不衝突。
'flex-flow: wrap-reverse':

  A B C
  F E D

'flex-flow: row-reverse wrap-reverse':

  C B A
  D E F

反正就是對於 'flex-direction: row' 就是換行之後反向。

> flex-direction: row 的排列方向是 A B C D E F 的话,row-reverse就是 F E D
> C B A。
> 
> flex-wrap: wrap 的换行方向是从上到下或从左到右,reverse的话就是从下向上
> 或从右向左了。
> 
> 因此reverse这个词理解为反向就好了。

'wrap-reverse' 就算是翻成「換行-反向」,就中文的理解我還是會直接聯想到上
面的解釋(再加上 'row-reverse' 跟 'wrap-reverse' 同樣是 'reverse' 真的很
容易搞混)。所以這變成一個個人理解的問題了,總之你認為當前的提案是很可以
接受的?

我把你算 A. 一票好了。歡迎投票或是提供其他理據或是其他提案。再試一個:

D. 'flex-flow: column rtl'

也就是 'flex-flow' 的語法變成:

   [ row | row-reverse | [ [ column | column-reverse ] &&
                           [ auto | ltr | rtl ]? ]
|| [ wrap | nowrap ]

(語法的語法請參考[1])

也就是:

1. 'ltr'/'rtl' 只能和 'column'/'column-reverse' 用。預設值 'auto' 是書寫
模式的「始」(start)→「結」(end)方向,也就是基本上 'ltr' 是預設值。
2. 沒有 'wrap-reverse' 了,因為我基本上不覺得 'row wrap btt' 或是豎排的
'column wrap btt' 是一個真的有用的行為。
3. 在豎排的情況了,'ltr'/'rtl' 在豎排下會被當作 'auto'。

理據:我覺得 'flex-flow: column wrap' 預設是左到右不是說不直觀,但是會讓
我頓一下,不知道是不是因為中文豎排是右到左的關係,所以要就算要講「反
向」、、、我也不知道正向是哪一邊,還不如可以寫清楚的 'flex-flow: column
wrap ltr'。

[1]
http://www.w3.org/html/ig/zh/wiki/Css3-values#.E5.8F.96.E5.80.BC.E6.AC.84.E4.BD.8D.E8.AA.9E.E6.B3.95


以上

Kenny

Received on Tuesday, 3 July 2012 09:11:55 UTC