Re: 專為中文(漢字)網頁加入的CSS屬性——底線跳脫

我同意現行底線長短可能有問題,如果這樣「解決」呢?

所有事情都不變,只除了底線畫到最後一字時的長度變短。

就是說底線的繪圖方法從原本的「每個字都畫滿字框寬度」,改為
「每個字都畫滿字框寬度,但畫到最後一字時,內縮0.01em(?)」。
如果某個底線只註記一個字,那麼那個字也是最後一字,所以它的
底線就會內縮。

這樣就不用引用CSS,也不用規定底線相鄰的顯示狀況了(我猜)。

oc



2011/3/5 Ethan Chen <chief@ethantw.net>

> 大家好!
>
> Kenny正為這個CSS屬性和W3C交談 [1],但沒個共識。希望可以和大家一同討論這個問題。
>
> 首先,試想我們有多久不能這樣寫了:
>
> <u>一三</u><!--中間不留空白--><u>二四</u>
>
>
>
> 漢字和拼音文字最大的不同,便是不靠任何「空白」就能斷詞。上述的例子可以看出,若我們為兩組相鄰的漢字字詞「分別」加上底線,在瀏覽器上是看不出這個效果的(會變成「一條」連在一起的線)。
>
> 為了「處理」這個問題,我們可能會這麼做 [2]:
>
> <u>一四</u>&#x200A;<u>二三</u>
>
>
> 其中,「&#x200A;」是unicode中的「髪絲空白(hair
> space)」(約1/4空白的寬度)。如此一來,底線得以區隔,而分隔開的漢字則「看似」沒有空白在其中。但無論這個空白多麼「細小」,還是破壞了語義,破壞了漢字文章的結構。
>
> 為了「解決」(不是「處理」)這個問題,Kenny希望在CSS
> 3中加入的「text-decoration-skip」屬性引入一個值「decoration-boundary」。可讓底線稍微向左縮短(0.01em?直排則向上),底線便不再相連。
>
> Kenny的解決方案可行性是較高的,因為「text-decoration-skip」是CSS 3的新屬性,不需要更動什麼現行的東西。
>
> 可我個人是覺得,預設的底線「本來」就該比現行的短一些,u +
> u(不留空白)是含有「語義」的,視覺上也需要能區別。所以W3C的文件中應該定義底線的長短(而不加decoration-boundary),並規定底線元素相鄰時的顯示狀況(當然這工程比較浩大)。
>
> 也就是說,我認為現行的底線長短是錯的,畢竟這種情型可能不是沒有:
>
> Circle out each of letter P:
>
> 1) Purple => <u>P</u>ur<u>p</u>le;
>
> 2) Apple => A<u>p</u><u>p</u>le.
>
>
> 想問大家對這兩種解法有何看法?如果有第三、四、五⋯⋯種方式也請不吝提供。謝謝!
>
> [1] http://lists.w3.org/Archives/Public/www-style/2010Dec/thread#msg102
> [2] http://lists.w3.org/Archives/Public/www-style/2010Dec/0104.html
>
>
>
>  Best Wishes,
> Ethan
>
> Mandarin: Chen Yijun / Hoklo: Tan I-kun / Cantonese: Can Jik-guan
>
> http://ethantw.net/
> http://twitter.com/ethantw/
>
>

Received on Saturday, 5 March 2011 00:08:02 UTC