MarkDown中實現(xiàn)目錄頁面內(nèi)跳轉(zhuǎn)

MarkDown中頁面內(nèi)跳轉(zhuǎn)經(jīng)常用于目錄跳轉(zhuǎn)袋励,為了解決在MarkDown中實現(xiàn)頁面內(nèi)跳轉(zhuǎn),我特意研究了以下實現(xiàn)方式;

備注: 簡書中的MarkDown好像不支持頁面內(nèi)跳轉(zhuǎn)黎比;

目錄

一. 鏈接的定義
   1. 行內(nèi)式鏈接
   2. 參考式鏈接
二. 標(biāo)題的定義
   1. 類Setex形式的標(biāo)題
   2. 類Atx形式的標(biāo)題
三. 頁面內(nèi)跳轉(zhuǎn)
   1. 錨點的定義
   2. 錨點目標(biāo)的定義
四. 總結(jié)
五. 示例

內(nèi)容


在MarkDown中是通過 鏈接標(biāo)題 來實現(xiàn)頁面內(nèi)跳轉(zhuǎn)的礼预,所以先講下MarkDown中 鏈接標(biāo)題 的語法眠砾,然后再講 MarkDown 中實現(xiàn)頁面內(nèi)跳轉(zhuǎn)的方法;

一. 鏈接的定義

Markdown 支持兩種形式的鏈接語法: 行內(nèi)式 和 參考式 兩種形式托酸。

1. 行內(nèi)式鏈接

語法:

行內(nèi)式鏈接 = [內(nèi)容](地址 "標(biāo)題")

說明:

  • 標(biāo)題 是可選的褒颈,可以用單引號 或 雙引號;

轉(zhuǎn)換成HTML后励堡,會生成如下標(biāo)簽:

<a href="地址" title="標(biāo)題">內(nèi)容</a>

示例:

[我的博客](http://www.reibang.com/u/7ecaba2d594c "郭斌勇的主頁")

渲染成HTML后谷丸,會生成如下標(biāo)簽:

<a href="http://www.reibang.com/u/7ecaba2d594c" title="郭斌勇的主頁">我的博客</a>

效果如下:

我的博客

2. 參考式鏈接

語法:

參考式鏈接 = [內(nèi)容][參考標(biāo)識符]
參考標(biāo)識符 = [標(biāo)識符]: 地址 "標(biāo)題"

說明:

  • 參考式鏈接參考標(biāo)識符 的定義沒有先后順序;
  • [內(nèi)容][參考標(biāo)識符] 之間可以有一個空格应结,也可以沒有空格淤井;
  • 如果 內(nèi)容參考標(biāo)識符 一樣,也可簡寫成 [參考標(biāo)識符][] ;
  • 標(biāo)題 是可選的摊趾,可以用單引號币狠、雙引號或是圓括弧包著;

轉(zhuǎn)換成HTML后砾层,會生成如下標(biāo)簽:

<a href="地址" title="標(biāo)題">內(nèi)容</a>

示例:

[博客]: http://www.reibang.com/u/7ecaba2d594c "郭斌勇的主頁"
[我的博客][博客]
[博客][]

渲染成HTML后漩绵,會生成如下標(biāo)簽:

<a href="http://www.reibang.com/u/7ecaba2d594c" title="郭斌勇的主頁">我的博客</a>
<a href="http://www.reibang.com/u/7ecaba2d594c" title="郭斌勇的主頁">博客</a>

效果如下:

我的博客
博客

二. 標(biāo)題的定義

Markdown 支持兩種標(biāo)題的語法:類Setext形式 和 類atx形式;

1. 類Setex形式的標(biāo)題

類Setext形式標(biāo)題的定義是用底線的形式肛炮,可以利用任何個數(shù)的符號 =(最高級標(biāo)題)和 -(第2級標(biāo)題)來做底線止吐,格式為:

標(biāo)題內(nèi)容
====

標(biāo)題內(nèi)容
----

說明:

  • 底線的符號個數(shù)為大于或等于1

示例:

這是一級標(biāo)題
====

這是二級標(biāo)題
----

效果如下:

這是一級標(biāo)題

這是二級標(biāo)題


2. 類Atx形式的標(biāo)題

類 Atx 形式標(biāo)題的定義則是在行首插入 1 到 6 個 # ,對應(yīng)到標(biāo)題 1 到 6 階侨糟,格式為:

# 1級標(biāo)題內(nèi)容
## 2級標(biāo)題內(nèi)容
### 3級標(biāo)題內(nèi)容
#### 4級標(biāo)題內(nèi)容
##### 5級標(biāo)題內(nèi)容
###### 6級標(biāo)題內(nèi)容

示例:

# 這是1級標(biāo)題
## 這是2級標(biāo)題
### 這是3級標(biāo)題
#### 這是4級標(biāo)題
##### 這是5級標(biāo)題
###### 這是6級標(biāo)題

效果如下:

這是1級標(biāo)題

這是2級標(biāo)題

這是3級標(biāo)題

這是4級標(biāo)題

這是5級標(biāo)題
這是6級標(biāo)題


三. 頁面內(nèi)跳轉(zhuǎn)

MarkDown中是通過定義鏈接的方式來定義跳轉(zhuǎn)的碍扔,在這里,跳轉(zhuǎn)也稱為錨點秕重,跳轉(zhuǎn)的目標(biāo)稱為錨點目標(biāo)不同;

所以,在 MarkDown 中實現(xiàn)頁面內(nèi)跳轉(zhuǎn)的方法就是:定義一個 錨點目標(biāo) 和 對應(yīng)的 錨點 溶耘,用戶點擊 錨點 便可跳轉(zhuǎn)到對應(yīng)的 錨點目標(biāo) 位置處二拐;

錨點錨點目標(biāo) 的定義格式如下:

1. 錨點的定義

錨點就是一個鏈接,另外凳兵,由于在MarkDown中可以直接寫HTML百新,所以在MarkDown中實現(xiàn)錨點有兩種方式:MarkDown方式 和 HTML方式;

1.1 MarkDown錨點

MarkDown錨點本質(zhì)上就是一個MarkDown鏈接庐扫,只是鏈接地址的格式為:

鏈接地址 = #目標(biāo)內(nèi)容

所以 MarkDown錨點 的定義也有兩種方式

行內(nèi)式

語法:

錨點 = [內(nèi)容](#目標(biāo)內(nèi)容 "標(biāo)題")

說明:

  • 標(biāo)題 是可選的饭望,可以用單引號 或 雙引號仗哨;

轉(zhuǎn)換成HTML后,會生成如下標(biāo)簽:

<a href="#目標(biāo)內(nèi)容" title="標(biāo)題">內(nèi)容</a>

示例:

[MarkDown方式的錨點](#MarkDown錨點)

渲染成HTML后铅辞,會生成如下標(biāo)簽:

<a href="#MarkDown錨點" >MarkDown方式的錨點</a>

效果如下:點擊下面的錨點

MarkDown方式的錨點

參考式

語法:

錨點 = [內(nèi)容][參考標(biāo)識符]
參考標(biāo)識符 = [標(biāo)識符]: #目標(biāo)內(nèi)容 "標(biāo)題"

說明:

  • 錨點參考標(biāo)識符 的定義沒有先后順序厌漂;
  • [內(nèi)容][參考標(biāo)識符] 之間可以有一個空格,也可以沒有空格巷挥;
  • 如果 內(nèi)容參考標(biāo)識符 一樣,也可簡寫成 [參考標(biāo)識符][] ;
  • 標(biāo)題 是可選的验靡,可以用單引號倍宾、雙引號或是圓括弧包著;

轉(zhuǎn)換成HTML后胜嗓,會生成如下標(biāo)簽:

<a href="#目標(biāo)內(nèi)容" title="標(biāo)題">內(nèi)容</a>

示例:

[MarkDown方式的錨點]: #MarkDown錨點
[MD錨點][MarkDown方式的錨點]
[MarkDown方式的錨點][]

渲染成HTML后高职,會生成如下標(biāo)簽:

<a href="#MarkDown錨點">MD錨點</a>
<a href="#MarkDown錨點">MarkDown方式的錨點</a>

效果如下:

MD錨點

MarkDown方式的錨點

1.2 HTML錨點

HTML錨點本質(zhì)上就是一個a鏈接,格式為:

<a href="#目標(biāo)內(nèi)容">內(nèi)容</a>

注意:

示例:

<a href="#html錨點">HTML方式的錨點</a>

效果如下:點擊下面的錨點

<a href="#html錨點">HTML方式的錨點</a>

2. 錨點目標(biāo)的定義

錨點目標(biāo)有2種定義方式:MarkDown形式 和 標(biāo)簽形式辞州;

MarkDown形式的錨點目標(biāo)

MarkDown形式的錨點目標(biāo)的定義其實就是標(biāo)題的定義怔锌,即:任何級別的標(biāo)題可以直接作為錨點目標(biāo);

標(biāo)題內(nèi)容 = 目標(biāo)內(nèi)容

所以变过,類Setext形式 和 類atx形式 的標(biāo)題都可作為 錨點目標(biāo) 埃元;

錨點目標(biāo)定義的示例:

這是一個錨點目標(biāo)
====

這是一個錨點目標(biāo)
---

# 這是一個錨點目標(biāo)
## 這是一個錨點目標(biāo)
### 這是一個錨點目標(biāo)
#### 這是一個錨點目標(biāo)
##### 這是一個錨點目標(biāo)
###### 這是一個錨點目標(biāo)

注意:

  • 錨點目標(biāo)內(nèi)容 中不能有大家字母和空格,所以如果錨點目標(biāo)的 目標(biāo)內(nèi)容 中有大寫字母或空格媚狰,則需要在定義錨點中的 目標(biāo)內(nèi)容 時岛杀,把大寫字母改成小寫字母,把空格改成 -崭孤;
  • 錨點目標(biāo)內(nèi)容 中不能含有以下字符:
    • 半角點(即英文中的句號).

標(biāo)簽形式的錨點目標(biāo)

因為MarkDown鏈接會被轉(zhuǎn)成a標(biāo)簽类嗤,并且MarkDown中也可以寫標(biāo)簽,所以可以利用HTML的錨點機制直接定義一個帶 id 特性的任意標(biāo)簽 或 帶 name 特性的 a 標(biāo)簽(注意:在HTML5中辨宠,a標(biāo)簽已經(jīng)不再支持 name 特性)作為錨點目標(biāo)遗锣,然后把MarkDown中的錨點地址的目標(biāo)內(nèi)容設(shè)置為 idname 特性的值;這樣便可以實現(xiàn)頁面內(nèi)跳轉(zhuǎn)嗤形;

這種形式的錨點目標(biāo)的定義格式為:

<標(biāo)簽名 id="目標(biāo)內(nèi)容">元素內(nèi)容</標(biāo)簽名>

<a name="目標(biāo)內(nèi)容">元素內(nèi)容</a>

注意:

  • 標(biāo)簽形式的錨點目標(biāo)的id特性值中是不能含有中文字符精偿;
  • name 特性只能應(yīng)用在 a 標(biāo)簽上;
  • HTML5不支持通過a標(biāo)簽的 name 特性來定義錨點目標(biāo)赋兵;

示例:

<div id="這是錨點目標(biāo)">跳轉(zhuǎn)到這里</div>

<a name="這是錨點目標(biāo)">跳轉(zhuǎn)到這里</a>

四. 總結(jié)

MarkDown中實現(xiàn)頁面跳轉(zhuǎn)的方法如下:

  1. 定義錨點目標(biāo)还最;錨點目標(biāo)的定義方式有4種:類Setext形式的標(biāo)題、類atx形式的標(biāo)題毡惜、帶id特性的HTML標(biāo)簽(id特性的值為目標(biāo)內(nèi)容)拓轻、帶name特性的a標(biāo)簽(name特性的值為目標(biāo)內(nèi)容);
  2. 定義錨點经伙;錨點的定義方式有3種:行內(nèi)式鏈接扶叉、參考式鏈接勿锅、HTML的a鏈接;

說明:

  • 錨點 和 錨點目標(biāo) 的定義不分先后順序枣氧;

注意:

  • 錨點目標(biāo)內(nèi)容 中不能有大家字母和空格溢十,所以如果錨點目標(biāo)的 目標(biāo)內(nèi)容 中有大寫字母或空格,則需要在定義錨點中的 目標(biāo)內(nèi)容 時达吞,把大寫字母改成小寫字母张弛,把空格改成 -
  • 錨點目標(biāo)內(nèi)容 中不能含有以下字符:
    • 半角點(即英文中的句號).
  • 標(biāo)簽形式的錨點目標(biāo)的id特性值中是不能含有中文字符酪劫;
  • name 特性只能應(yīng)用在 a 標(biāo)簽上吞鸭;
  • HTML5不支持通過a標(biāo)簽的 name 特性來定義錨點目標(biāo);
  • HTML錨點 的目標(biāo)錨點只能是 標(biāo)簽形式的錨點目標(biāo)

五. 示例

示例1

錨點:

[跳轉(zhuǎn)到個人簡介](#個人簡介)

錨點目標(biāo):

# 個人簡介

示例2

錨點:

[跳轉(zhuǎn)到個人簡介]: #個人簡介
[跳轉(zhuǎn)到個人簡介][]

錨點目標(biāo):

個人簡介
=====

示例3

錨點:

[跳轉(zhuǎn)到個人簡介](#個人簡介)

錨點目標(biāo):

<p id="個人簡介">這是個人簡介</p>

示例4

錨點:

[跳轉(zhuǎn)到個人簡介](#個人簡介)

錨點目標(biāo):

<a name="個人簡介">這是個人簡介</a>

示例5

錨點:

<a href="#個人簡介">跳轉(zhuǎn)到個人簡介</a>

錨點目標(biāo):

個人簡介
----

示例6

錨點:

<a href="#個人簡介">跳轉(zhuǎn)到個人簡介</a>

錨點目標(biāo):

<h1 id="個人簡介">這是個人簡介</h1>

示例7

錨點:

<a href="#個人簡介">跳轉(zhuǎn)到個人簡介</a>

錨點目標(biāo):

<a name="個人簡介">這是個人簡介</a>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末覆糟,一起剝皮案震驚了整個濱河市刻剥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滩字,老刑警劉巖造虏,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異麦箍,居然都是意外死亡漓藕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門挟裂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撵术,“玉大人,你說我怎么就攤上這事话瞧∧塾耄” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵交排,是天一觀的道長划滋。 經(jīng)常有香客問我,道長埃篓,這世上最難降的妖魔是什么处坪? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮架专,結(jié)果婚禮上同窘,老公的妹妹穿的比我還像新娘。我一直安慰自己部脚,他們只是感情好想邦,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著委刘,像睡著了一般丧没。 火紅的嫁衣襯著肌膚如雪鹰椒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天呕童,我揣著相機與錄音漆际,去河邊找鬼。 笑死夺饲,一個胖子當(dāng)著我的面吹牛奸汇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播往声,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼擂找,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了烁挟?” 一聲冷哼從身側(cè)響起婴洼,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤骨坑,失蹤者是張志新(化名)和其女友劉穎撼嗓,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體欢唾,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡且警,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了礁遣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斑芜。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖祟霍,靈堂內(nèi)的尸體忽然破棺而出杏头,到底是詐尸還是另有隱情,我是刑警寧澤沸呐,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布醇王,位于F島的核電站,受9級特大地震影響崭添,放射性物質(zhì)發(fā)生泄漏寓娩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一呼渣、第九天 我趴在偏房一處隱蔽的房頂上張望棘伴。 院中可真熱鬧,春花似錦屁置、人聲如沸焊夸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淳地。三九已至怖糊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颇象,已是汗流浹背伍伤。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留遣钳,地道東北人扰魂。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像蕴茴,于是被迫代替她去往敵國和親劝评。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容