Closed ethantw closed 9 years ago
相鄰二底線之視覺辨別(同屬語義樣式的一部分)
这个是什么意思?
就是相鄰註記元素<u>
的底線跳脫,這應該是語意層面的視覺樣式。
http://css.hanzi.co/manual/hanzi_biaozhun_geshi/dixian#xianglin_zhuji_yuansu
目前漢字標準格式有二種JS解決方案和一種原生CSS fallback,版本v3.0會將二種方案拆分於不同層面的二個子集專案中——簡易修正同純CSS fallback歸於semantic normalisation,重繪底線的進階修正則收在「排版」層面中。
(我草草的筆記很雜亂,不好意思)
原文把JS的DOM改寫當作fallback,上面的回應又將純CSS normalisation寫作fallback⋯⋯主要是:
感谢深夜回复。
其实这种高级排版,我觉得CSS解决就可以了,不支持的视觉上适当降级。
现在的u
标签嵌套了太多span
,如果单纯用margin来增加间距又会改变文字间距。
我在这里有讨论:http://www.zhihu.com/question/20202651/answer/21441980?group_id=148091136#comment-51879147
我在v3.0版本中已經精簡了這個部分,應該不會有過度嵌套的問題了(請參考我的 han-hongyu-css 專案)(我搞錯了,這部分是寫在我還沒publish的repo中,今天腦子很不靈光,請見諒)。
至於現在的v2.2.3中,預設是_不_開啓這項實驗性DOM改寫,具體效果可參考 @boskijr 的〈Typecho + Han Standard〉。
八月底時我和 @lianghai、@zmmbreeze 有討論過偽類選擇器的問題,所以才又加了現在的DOM改寫。原本可以只取<u>
元素的頭尾二字和中間段,但我已經有個專門處理字符的jQuery plugin method,所以就沒另外寫了。
完整的標點擠壓懸掛:http://ethantw.github.io/Han/v3.2.0-b/jiya.html (一年半過去,這張票總算可以關了)
直書的功能可能不大適合直接放在Han.css,未來再起一個類似plugin的專案專門處理文字直排。
目前已加入、或在未來將陸續新增各項漢字「排版」功能,如下,
繁體中文使用日文字體之字符回退(順延)段落文字直排(v3.1)(另起專案)以上「排版功能」已同原先「漢字標準格式」的「語義元素樣式正常化」之初衷大有不同,且諸多實驗功能可能不甚穩定,將導致專案過於龐大,管理困難,亦對開發者不便。
暫時決定將以上功能同「語義元素樣式正常化」拆分為多個專案,最後各提出其重要部分由「漢字標準格式」整合為一。初步思考結果如下,
[Sass]語義元素樣式正常化
同normalize.css合併,只提供「CSS樣式類」的修正,不再依賴JavaScript處理視覺樣式。盡可能使用CSS完成語義元素之樣式。
且不再使用指定字體,以通用字體族(generic font family)取代之。
[JS+Sass]語義元素樣式正常化之回退
加入JavaScript回退機制,以利各瀏覽器正常顯示樣式。(同1.併於同一專案中,但不強制使用JavaScript回退,而改為「推薦使用」)
搭配JavaScript回退處理之Sass樣式表亦另外提供。
API
同時,提供Sass的
@mixin
函數以利開發者清除UA/語義元素正常化樣式。[Sass]四大字體集等指定系統/web字體
即原本的
han/_fonts.scss
及han/_ff.scss
,通過各系統間預設字體的搭配(標點符號樣式修正、等高數字字體),達到美觀、符合各地標準的排版效果。API
提供各字體集與搭配完善的
@mixin
函數,方便開發者套用。[JS+Sass]其他漢字「排版」功能
以下,除「文字直排」外之重要漢字排版功能,統一由一JavaScript專案處理之,並提供開發者選用。
相鄰二底線之視覺辨別(同屬語義樣式的一部分)API
開放原
$(selector).charize()
等各項函數。[JS+Sass]文字直排