- From: pingooo <ping.nsr.yeh@gmail.com>
- Date: Sat, 5 Mar 2011 09:31:30 +0800
- To: oldcat <blog.oc@gmail.com>
- Cc: Ethan Chen <chief@ethantw.net>, 中文HTML5同樂會ML 中文HTML興趣小組 <public-html-ig-zh@w3.org>
- Message-ID: <AANLkTi=zR43=6AQ36kurK-bOH26Z_Lh=G6n+sipK6auq@mail.gmail.com>
這個問題在傳統排版世界一定碰到過,請問解法是什麼呢?有大大知道可以解惑嗎? 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> <u>二三</u> >> >> >> 其中,「 」是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