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

這個問題在傳統排版世界一定碰到過,請問解法是什麼呢?有大大知道可以解惑嗎?

oldcat <blog.oc@gmail.com> 於 2011年3月5日上午8:07 寫道:

> 我同意現行底線長短可能有問題,如果這樣「解決」呢?
>
> 所有事情都不變,只除了底線畫到最後一字時的長度變短。
>
> 就是說底線的繪圖方法從原本的「每個字都畫滿字框寬度」,改為
> 「每個字都畫滿字框寬度,但畫到最後一字時,內縮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 01:32:23 UTC