参考(命名锚点)在降价
有相当于下面的markdown语法:
Take me to <a href="#pookie">pookie</a>
...
<a name="pookie">this is pookie</a>
Take me to [pookie](#pookie)
应该是正确的markdown语法来跳转到名为pookie的锚点。
要插入该名称的锚点,请使用HTML:
<a name="pookie"></a>
Markdown似乎并不介意放置锚点的位置。 一个有用的地方放在它的标题。 例如:
### <a name="tith"></a>This is the Heading
工作得很好。 (我会在这里演示,但是SO的渲染器会去掉锚点。)
请注意自动关闭标签和id=
vs name=
这篇文章的早期版本建议使用<a id='tith' />
,使用XHTML的自动关闭语法,并使用id
属性而不是name
。
XHTML允许任何标签都是“空的”和“自封闭的”。 也就是说, <tag />
对于<tag></tag>
<tag />
是简短的,它是一对匹配的具有空体的标签。 大多数浏览器都会接受XHTML,但有些则不会。 为避免跨浏览器问题,请使用<tag></tag>
显式关闭<tag></tag>
,如上所述。
最后,属性name=
在XHTML中被弃用,所以我最初使用了id=
,每个人都可以识别。 但是,当使用id=
时,HTML5现在在JavaScript中创建一个全局变量,而这可能不一定是您想要的。 所以,使用name=
现在可能会更友好。
(感谢Slipp Douglas向我解释XHTML,并指出HTML5的副作用 - 请参阅评论和nailer的答案以获取更多详细信息。name name=
似乎可以在任何地方工作,但它在XHTML中已弃用)。
使用一个name
。 在HTML 5中使用id
不是必需的,并且会在JavaScript中创建全局变量
请参阅HTML 5规范,5.9.8导航到片段标识符 - 使用id
和name
。
知道大多数浏览器仍将ID变成全局变量很重要。 这是一个快速测试。 使用name
避免了创建全局变量以及可能导致的任何冲突。
使用名称的示例:
Take me to [pookie](#pookie)
目的地主播:
### <a name="pookie"></a>Some heading
在bitbucket.org上投票的解决方案将无法正常工作。 相反,当使用标题(带有##)时,可以通过将它们作为#markdown-header-my-header-name前缀来引用它们,其中#markdown-header-是由呈现器生成的隐式前缀,并且其余部分是使用破折号替换空格的小头标题。
例
## My paragraph title
会产生一个像这样的隐式锚
#markdown-header-my-paragraph-title
每个锚点引用之前的整个URL都是可选的,即
[Some text](#markdown-header-my-paragraph-title)
相当于
[Some text](https://bitbucket.org/some_project/some_page#markdown-header-my-paragraph-title)
只要它们在同一页面中即可。
来源:https://bitbucket.org/tutorials/markdowndemo/overview(编辑这个.md文件的源代码,并看看锚是如何制作的)。
链接地址: http://www.djcxy.com/p/89007.html