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。