3 区段元素
3.1 链接
Markdown
支持两种形式的链接语法:行内式和参考式。通常参考式的链接更易于阅读 Markdown
源码。
行内式的语法为:
[The text of link](http://example.net/ "Title") inline link
, 输出HTML
为<p><a href="http://example.net/" title="Title">The text of link</a> inline link</p>
](
之间必须没有空隙,否则Markdown
生成器无法正确解析- title 属性用双引号或单引号括起来
- 若 url 为同主机的资源,则可以用相对路径
[About](/about)
参考式的语法为:
This is [The text of link][link-id] reference-style link
[link-id]
为链接标记,名字由你指定,由字母、数字、空白和标点符号组成,但并不区分大小写][
之间最多可以有一个空格,否则Markdown
生成器无法正确解析
然后在文件的任意地方,你可以将这个标记
link-id
的链接内容定义出来。定义语法为:[link-id]: http//example.com/ "Optinal title here"
- 链接内容定义必须在某一行的起始处,或者左侧最多可以有 3 个空格。若有 4 个空格则解析为代码区块。
]:
之间必须没有空格,否则Markdown
生成器无法正确解析- title 左侧必须有空格,否则就成为了 url 的一部分
- title 内容可以用双引号或单引号或圆括号等包围
- url 与
:
之间可以没有空隔,也可以有空隔 - tile 属性可以放到下一行,也可以增加一些缩进。因为
Markdown
中段落中的换行符并不影响HTML
输出
参考式还有一种隐式链接标记:当省略链接标记时,默认链接标记等于链接文字。如
This is [Google][] website
等价于This is [Google][Google] website
。
3.2 强调
Markdown
用星号 *
和底线 _
作为标记强调的符号。
- 被星号
*
或者底线-
包围的文字,在HTML
中会被<em>
标签包围。如:*em text*
,_em text_
。 - 被两个星号
*
或两个底线_
包围的文字,在HTML
中会被<strong>
标签包围。如:**strong text**
,__strong text__
。 - 被三个星号
*
或三个底线_
包围的文字,在HTML
中会被<strong><em>
标签包围。如:***strong em text***
,___strong em text___
。 - 被四个星号
*
或四个底线_
包围的文字,在HTML
中会被<strong><strong>
标签包围。如:****strong strong text****
,____strong strong text____
。
其中,星号 *
和底线 _
与内容之间可以有空隔。
当想在文字某行中同时插入多个星号 *
或者同时插入多个底线 _
时,需要用反斜线转义。如 \* insert 2 asterisks \*
。
3.3 删除线
Markdown
中,被两个或两个以上的 ~
包围的文本或空隔会生成删除线,如 ~~~text~~~
,其 HTML
输出为 text 。
- 删除线的起始
~
标记之后的内容必须不能以空隔开始,否则Markdown
生成器无法正确解析 - 删除线的结束
~
标记之前的内容最好不以空隔结尾,因为这会让空隔中出现删除线,如 ~~text ~~。
3.4 行内代码
Markdown
的行内代码语法简单,即用反引号 ` 来包围行内代码,如 `code text`
。被包围的文字在 HTML
中会被 <code>
标签包围。
- 开启代码片段的反引号和结束代码片段的反引号前后可以有空隔,也可以无空隔。
- 代码片段内,
&
,<
,>
等均自动转成 HTML 实体而不HTML
标记。 - 代码片段内若出现反引号,则要注意:
- 若想在行内代码中插入反引号,则可以用多个反引号来开启和结束代码片段。如
``code text``
- 若开启代码片段用两个反引号,结束代码片段用一个反引号,则相当于向代码中插入一个反引号。如
``code text
` - 若开启代码片段用一个反引号,结束代码片段用两个反引号,则
Markdown
并不会将它解析为<code>
标签。 - 若想在代码片段中插入两个反引号,则要留意开启代码片段的反引号之后,结束代码片段的反引号之前要有空隔, 如
`` `code text` ``
。
- 若想在行内代码中插入反引号,则可以用多个反引号来开启和结束代码片段。如
3.5 图片
Markdown
用一种与链接相似的语法来标记图片。图片同样也允许两种样式:行内式与参考式。
- 行内式语法为:
![Alt text](/path/to/img.jpg "Optional title")
,其中:![
之间必须没有空隔,](
之间必须没有空格,"Optional title"
与 url 之间可以有空隔也可以没有空 隔。"Optional title"
是可选的,可以没有。- title 属性用双引号或单引号括起来
- 参考式的语法为:
![Alt text][img-id]
,其中:![
之间必须没有空隔,][
之间最多可以有一个空格img-id
为图片参考标记,其要求和语法与链接的参考标记一样。语法为[img-id]: /path/to/img.ipg "Optional title"
。其中:- 链接内容定义必须在某一行的起始处,或者左侧最多可以有 3 个空格。若有 4 个空格则解析为代码区块。
]:
之间必须没有空格,否则Markdown
生成器无法正确解析- title 内容可以用双引号或单引号或圆括号等包围
- url 与
:
之间可以没有空隔,也可以有空隔 - tile 属性可以放到下一行,也可以增加一些缩进。因为
Markdown
中段落中的换行符并不影响HTML
输出
目前无法在 Markdown
中指定图片的宽高,因此如果有这个需求,则可以用 HTML
中的 <img>
标签来达到目的。
3.6 自动链接
Markdown
中的网址和电子邮箱地址会自动转换成链接。
网址的链接文字会与链接地址相同,如
http://www.google.com
的HTML
输出为<a href="http://www.google.com"> http://www.google.com</a>
邮件的自动链接会有一个编码转换过程,这是为了垃圾邮件机器人抓取邮箱地址。如
huaxz1986@163.com
的HTML
输出为<a href="mailto:huaxz1986@163.com">huaxz1986@163.com</a>
3.7 脚注
Markdown
中脚注的语法是: text [^note_id]
。
text
与[
之间可以有空隔,也可以无空隔。若有空隔,则HTML
输出文档中脚注的链接文字与text
之间也会有空格。[^
之间必须没有空隔,否则Markdown
生成器无法正确解析^
与]
之间出现的文字都是note_id
的组成部分,包括空隔字符,因此note_id
最好不要以空隔结尾
在当前 Markdown
文件的某个地方,给出 note_id
的定义,语法是: [^note_id]: foot_note descrption text
。
- 必须有
note_id
的定义,脚注的语法才完整,否则Markdown
生成器无法正确解析 [^
之间必须没有空隔,否则Markdown
生成器无法正确解析^
与]
之间出现的文字都是note_id
的组成部分,包括空隔字符,因此note_id
最好不要以空隔结尾]:
之间必须没有空格,否则Markdown
生成器无法正确解析:
与foot_note descrption text
之间可以有空隔,也可以没有空隔
3.8 转义字符
Markdown
支持利用反斜线 \
来转义字符。如 \#
会转义作为标题起始标记的 #
字符。
3.9 首行缩进
Markdown
可以利用 HTML
中的  
在输出的 HTML
中产生一个空格符,利用  
在输出的 HTML
中产生两个空格符。 如  first line
的 HTML
输出为 first line,  first line
的 HTML
输出为 first line。
3.10 技巧
- 添加空行可以结束当前的格式状态从而启用新的格式状态,建议改变格式时均添加一个空行
- 普通段落尽量不用空隔或制表符来缩进,即使其缩进后的
HTML
输出结果看起来是对的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论