html br 的語義
html br 是 break 換行的意思。 在 html 中換行會被當成縮排的一部份,要換行一定要用 br。 br 不應該使用在排版上,排版請交給 css, br 是用在 語義 上需要換行時, 像詩的換行是詩的一部份, 一般文章的換行就只是適應稿紙大小。
所以要分清楚什麼時候要用 br, 什麼時候要用 pre 把整段包起來。 簡單來說,就是當換行是有意義時, 例如詩的換行。 像 markdown 的換行,或寫文件的換行, 只是超出螢幕寬度不方便,就換行。
上一篇馬基維基的豬 有引用詩, 就想一下要用哪個 html 元素比較對。 詩有分段,段裡再分行, 所以那個大的空行是段落間隔, 而不是單純空二行的意思。
所以我選用 p 元素分段, 用 br 在段內分行,整篇詩是引用, 所以用 blockquote 包起來。
在 markdown 裡用 >
包詩,
blockquote 裡本來就會在空行分段,
然後行尾加二空白可以強制斷行。
但我不太喜歡行尾二空白的語法,
太不明顯了。
所以我是直接寫成 <br>
。
本來我很討厭 br,
都習慣用 pre 或 css white-space: pre;
,
但東西發明就有他的用處,
有時候 br 是比 pre 好的。
w3c 的 br 用途範例, 一個就是詩的斷行, 另一個則是西式信封上的地址, 有一定格式。
pre 我覺得比較適合用在貼 code, 或 ascii art 等 排版好的 東西。 像直接把 terminal 內容貼上, 就適合用 pre。