Markdown 段落
1. 前言
關(guān)于 Markdown 正文的官方定義:
段落由一句或多句連續(xù)的文本組成,通過一個或多個空行分隔。(空行可能是沒有任何內(nèi)容的行、或者是只包含空行或制表符的行,多個空行也會顯示成一個空行)。一個普通的段落不應(yīng)該有空格或者制表符作為縮進。
原文出處:daringfireball.net
可見,正文是文章的主體。正文通常由段落組成,段落則由縮進、換行和文本組成。
環(huán)境說明:
考慮到 Markdown 工具之間的不兼容,有的內(nèi)容直接從頁面復(fù)制粘貼到本地不會正常顯示,大家學習時自己動手寫是肯定沒問題的。本節(jié)所有實例代碼及演示效果均使用 Typora 工具完成。
本節(jié)所有截圖除特殊說明外均為 Typora 導出為 HTML 后的渲染效果。
2. 語法詳解
2.1 正文
在 Markdown 文件中,沒有任何標記的文字會被解析成正文。
實例 1:
### 這是標題
這是一段正文文字。
渲染效果如下:
2.2 段落
在 Markdown 文件中,使用至少一個空行來區(qū)分段落。不同的段落在轉(zhuǎn)換成 HTML 后會被包含在不同的 <p>
標簽中。
實例 2:
### 這是標題
這是第一段正文文字的第一句。
這是第一段正文文字的第二句。這是第一段正文文字的第三句。
這是第二段正文文字的第一句。
這是第二段正文文字的第二句。
渲染效果如下:
2.3 不分段換行
換行是初學者很容易遇到的問題。不同于分段換行,不分段換行不是用 <p>
標簽描述段落,而是用 <br>
標簽折斷文字。
如果要讓文字另起一行而不分段,需在行尾增加兩個空格。
實例 3:
將上例中的 “第一段第一句” 和 “第一段第二句” 之間增加換行。
### 這是標題
這是第一段正文文字的第一句。
這是第一段正文文字的第二句。這是第一段正文文字的第三句。
這是第二段正文文字的第一句。
這是第二段正文文字的第二句。
渲染效果如下:
注意:此處截圖為 Typora 實時渲染效果,可以看出不分段換行處有一個下箭頭提示此處有換行。在 Typora 中實現(xiàn)此效果需要在源代碼模式下編輯(「顯示」->「源代碼模式」)。
2.4 縮進
Markdown 原生語法不支持縮進。
Markdown 最初為英文文章設(shè)計,而英文文章中最常見的段落排版便是 “齊頭式”,也就是說每一行文字都頂頭書寫,各個段落之間用空行分隔。Markdown 原生語法并不支持縮進,避免因為不同段落的個性化影響整篇文章的樣式一致性。
如果我們依然需要在 Markdown 文件中實現(xiàn)首行縮進樣式,可通過以下幾種方式:
實例 4:
配置全局段落樣式
### 這是標題
正文第一段。正文第一段。正文第一段。正文第一段。
正文第一段。正文第一段。正文第一段。正文第一段。
正文第一段。正文第一段。正文第一段。正文第一段。
正文第一段。正文第一段。正文第一段。正文第一段。
正文第一段。正文第一段。
正文第二段。正文第二段。正文第二段。正文第二段。
正文第二段。正文第二段。正文第二段。正文第二段。
正文第二段。正文第二段。正文第二段。正文第二段。
正文第二段。正文第二段。正文第二段。正文第二段。
正文第二段。正文第二段。
注意css樣式放在文章最后。
<style>p{text-indent:2em}</style>
渲染結(jié)果如下:
實例 5:
使用轉(zhuǎn)義字符(適用于英文)
第一段為沒有縮進的英文段落,第二段為使用轉(zhuǎn)義符號縮進的英文段落。
be or no to be, that is a question.
be or no to be, that is a question.
渲染效果如下:
實例 6:
使用全角空格(適用于中文)
### 這是標題
使用中文全角空格轉(zhuǎn)義字符用于段首縮進,適合于中文文章。
正文第一段。正文第一段。正文第一段。正文第一段。
正文第一段。正文第一段。正文第一段。正文第一段。
正文第一段。正文第一段。正文第一段。
渲染效果如下:
2.5 空白行
Markdown 原生語法不支持空行。
空行一般出現(xiàn)在段落之間,用于區(qū)分大段文字組織關(guān)系。段落間距的調(diào)整要通過修改文章的整體樣式實現(xiàn)。如果我們需要在文檔中插入空白行,可通過以下方式:
### 這是標題
在 Markdown 中,即使插入多個換行符,渲染時也會被合并成單一空行:
開始
結(jié)束。
#### 方法一 使用 html '\<br/\>' 標簽實現(xiàn)空行插入:
開始
<br/>
結(jié)束。
#### 方法二 使用 '全角空格' 實現(xiàn)空行插入(注意行尾有兩個空格):
開始
結(jié)束。
#### 方法三 使用轉(zhuǎn)義字符 '\ ' 實現(xiàn)空行插入(注意行尾有兩個空格):
開始
結(jié)束。
渲染效果如下:
3. 場景及應(yīng)用實例
正文是每篇文章的主體,當我們的文字內(nèi)容較多,層次關(guān)系復(fù)雜時,需要使用段落使文章結(jié)構(gòu)更加清晰,例如:總 - 分 - 總結(jié)構(gòu)等。
實例 8:
使用 Markdown 對以下內(nèi)容排版。
水調(diào)歌頭?明月幾時有【作者】蘇軾 【朝代】宋 丙辰中秋,歡飲達旦,大醉,作此篇,兼懷子由。明月幾時有?把酒問青天。不知天上宮闕,今夕是何年。我欲乘風歸去,又恐瓊樓玉宇,高處不勝寒。起舞弄清影,何似在人間。轉(zhuǎn)朱閣,低綺戶,照無眠。不應(yīng)有恨,何事長向別時圓?人有悲歡離合,月有陰晴圓缺,此事古難全。但愿人長久,千里共嬋娟。
### 水調(diào)歌頭·明月幾時有
#### 蘇軾 / 宋
丙辰中秋,歡飲達旦,大醉,作此篇,兼懷子由。
明月幾時有?把酒問青天。
不知天上宮闕,今夕是何年。
我欲乘風歸去,又恐瓊樓玉宇,高處不勝寒。
起舞弄清影,何似在人間。
轉(zhuǎn)朱閣,低綺戶,照無眠。不應(yīng)有恨,何事長向別時圓?
人有悲歡離合,月有陰晴圓缺,此事古難全。
但愿人長久,千里共嬋娟。
<style>
h3, h4 {text-align: center;}
p {text-indent: 2em;}
</style>
渲染效果如下:
4. 小結(jié)
-
原生的 Markdown 語法正文僅支持 “換行” 和 “分段” 的方式。我們可以通過調(diào)整全局 CSS 樣式來實現(xiàn)段落的縮進,這樣能保證文章整體樣式的一致性,也可避免在寫作過程中受排版問題的干擾;
-
當我們需要插入空行、縮進的時候,可以使用中文的全角空格、HTML 原生標簽等方式;
-
本文 Markdown 源碼使用 Atom 編輯。
Markdown 編寫的文章非常重視整體性,當我們實現(xiàn)個性化的布局形式時,最好的辦法是用 Markdown 原生支持的格式實現(xiàn),最后用統(tǒng)一的 CSS 定義整體樣式。