我正试图找出如何使用Markdown引用页面的另一个区域.如果我添加一个,我可以使它工作
<div id="mylink" />
Run Code Online (Sandbox Code Playgroud)
并为链接做:
[My link](#mylink)
Run Code Online (Sandbox Code Playgroud)
但我的猜测是,还有一些其他方法可以在Markdown中执行不涉及直接div标记的页内链接.
有任何想法吗?
Ste*_*ell 156
看到这个答案.
总结一下目的地
<a name="sometext"></a>
Run Code Online (Sandbox Code Playgroud)
插入降价标记中的任何位置(例如在标题中:
## heading<a name="headin"></a>
Run Code Online (Sandbox Code Playgroud)
并使用降价链接链接到它:
[This is the link text](#headin)
Run Code Online (Sandbox Code Playgroud)
要么
[some text](#sometext)
Run Code Online (Sandbox Code Playgroud)
不要使用<div>- 这会弄乱许多渲染器的布局.
(我已经改变id=到name=上面,见这个答案的繁琐的解释.)
小智 21
我想这取决于你用什么从你的降价生成html.我注意到,jekyll(默认情况下由gihub.io页面使用)会自动将id =""属性添加到它生成的html中的标题中.
例如,如果你是降价的话
My header
---------
Run Code Online (Sandbox Code Playgroud)
生成的html将如下所示:
<h2 id="my-header">My header</h2>
Run Code Online (Sandbox Code Playgroud)
所以你可以简单地链接到它 [My link](#my-header)
Klo*_*kie 15
使用Markdown的PHP版本,您还可以使用如下所示的语法将标题链接到页面中的片段标识符,如此处所述
Header 1 {#header1}
========
## Header 2 ## {#header2}
Run Code Online (Sandbox Code Playgroud)
然后
[Link back to header 1](#header1)
[Link back to header 2](#header2)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这种语法目前仅支持头文件,但至少它可用于构建目录.
HTML 页面中链接的目标锚点可以是具有id属性的任何元素。请参阅W3C 站点上的链接。这是相关部分的引用:
HTML 文档中的目标锚点可以由 A 元素(使用 name 属性命名)或任何其他元素(使用 id 属性命名)指定。
Markdown 将 HTML 视为 HTML(请参阅内联 HTML),因此您可以从任何您喜欢的元素创建片段标识符。例如,如果您想链接到一个段落,只需将该段落包装在段落标记中,并包含一个 id:
<p id="mylink">Lorem ipsum dolor sit amet...</p>
Run Code Online (Sandbox Code Playgroud)
然后使用标准 Markdown[My link](#mylink)创建片段锚点的链接。这将有助于保持 HTML 干净,因为不需要额外的标记。