在Markdown中,链接到页面片段的最佳方式是什么,即#some_id?

我试图找出如何使用Markdown引用页面的另一个区域。 我可以得到它的工作,如果我添加一个

<div id="mylink" /> 

并为链接做:

 [My link](#mylink) 

但我的猜测是,还有其他一些方法可以在Markdown中做一个页面内的链接,不涉及直接的div标签。

有任何想法吗?

看到这个答案 。

总之用一个目的地

 <a name="sometext"></a> 

插入标记标记的任何位置(例如在标题中:

 ## heading<a name="headin"></a> 

并使用降价链接链接到它:

 [This is the link text](#headin) 

要么

 [some text](#sometext) 

不要使用<div> – 这会弄乱许多渲染器的布局。

(我已经改变了id= to name= above。查看这个答案的单调乏味的解释。)

使用Markdown的PHP版本 ,您还可以使用以下任一语法将标题链接到页面内的标识符,如此处所述

 Header 1 {#header1} ======== ## Header 2 ## {#header2} 

接着

 [Link back to header 1](#header1) [Link back to header 2](#header2) 

不幸的是,这个语法目前仅支持头文件,但至less可以用于构build目录。

我想这取决于你用什么来从你的降价生成HTML。 我注意到,jekyll(默认情况下由gihub.io页面使用)自动将id =“”属性添加到它生成的html中的标题。

例如,如果你是降价是

 My header --------- 

生成的html将如下所示:

 <h2 id="my-header">My header</h2> 

所以你可以链接到它简单的[My link](#my-header)

HTML页面中链接的目的地锚点可以是具有id属性的任何元素。 请参阅W3C网站上的链接 。 以下是相关部分的引用:

HTML文档中的目标定位点可以由A元素(使用name属性命名)或任何其他元素(使用id属性命名)来指定。

Markdown将HTML视为HTML(请参阅内联HTML ),因此您可以从您喜欢的任何元素创build片段标识符。 例如,如果要链接到段落,只需将段落包装在段落标记中,并包含一个标识:

 <p id="mylink">Lorem ipsum dolor sit amet...</p> 

然后使用您的标准Markdown [My link](#mylink)创build链接到片段锚点。 这将有助于保持您的HTML清洁,因为不需要额外的标记。