Skip to content

页内跳转

之前学习总结过 Markdown 的语法,但是在 CSDN 上用 Markdown 写博客无法实现页内跳转,一直没有找到很好的解决方法,今天偶然在网上发现新的关于页内跳转的解决方法

使用HTML标签

因为 Markdown 可以嵌入 HTML 标签,所以最初我想到的是利用 HTML 的锚点标签 <a> 实现页内跳转。W3School 中给出了业内跳转的示例:链接到同一个页面的不同位置

使用方法如下:

  1. A 处设置锚点,定义锚点的名称

    <a name="锚点名称">A</a>
    
  2. B 处设置锚点,定义链接指向的页内锚点

    <a href="#锚点名称">B</a>
    

不过在 CSDN 博客中,这种方式没有起作用

使用 id 属性

后来又找到一种方法,是使用 id 属性替换 name 属性,这次可以跳转了,不过每次跳转操作都会打开一个新的页面

属性target

很偶然的情况下,发现添加属性 target 可能会有用,就是在跳转锚点的时候添加属性 target="_self"。在 W3School 上找到了相应的解释:HTML 标签的 target 属性

<a> 标签的 target 属性规定在何处打开链接文档。

_self

这个目标的值对所有没有指定目标的 <a> 标签是默认目标,它使得目标文档载入并显示在相同的框架或者窗口中作为源文档。这个目标是多余且不必要的,除非和文档标题 <base> 标签中的 target 属性一起使用。

生成目录

在网上还找到一种方法,就是生成目录语法,实现方式如下

  1. A 处设置目录

    <h1 id="1">标题1</h1>
    <h1 id="2">标题2</h1>
    // 或
    ## 标题1
    。。。
    ## 标题2
    
  2. B 处设置跳转目录

注意1:标题名不能有中英文混杂,会造成跳转功能失效

注意2:sphinx对于目录跳转语法失效

相关阅读