HTML5中a标签的锚点使用

作者: GavinHsueh | 来源:发表于2017-07-17 13:15 被阅读0次

前几天有个用户问我关于在线手册功能里的锚点问题。因为他通过代码发现,在编辑手册内容时,锚点的设置是通过id选择器来制定的,而不是带有name属性的a标签。其实这是HTML5和HTML4(XHTML)等之前版本之间的一个差异,也可以说是一个升级改进。本文我们一起来分享学习下HTML5中是如何实现锚点链接的以及与HTML4相比,做了哪些改进和优势。

HTML4锚点链接实现示例:

<body>
  <a href="#d3">我在找OA系统</a><br/>
  <a name="d1">禅道项目管理软件</a>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <a name="d2">蝉知企业门户系统</a>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <a name="d3">然之协同办公系统</a>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
</body>

在之前HTML版本中,a标签通name属性实现锚点的定位,再通过href属性指向具体锚点。注意,这里name属性只是针对a标签,其他标签不可随意添加name属性,而且其余诸如表单之类的name属性的意义作用是不同的。所以a标签的锚点链接有局限性,如果你想吧在其他元素中设置锚点,需要在其他标签中添加一层带有name属性的a标签。比如上面的示例中,把a标签改为h3。

<body>
  <a href="#d3">我在找OA系统</a><br/>
  <h3><a name="d1">禅道项目管理软件</a></h3>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <h3><a name="d2">蝉知企业门户系统</a></h3>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <h3><a name="d3">然之协同办公系统</a></h3>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
</body>

可见如此操作,影响代码美观,略显繁琐。

HTML5锚点链接的实现示例

相比HTML4,HTML5做了很大的改进,摒弃之前a标签嵌套的繁琐,而是废除了name属性,改用id来定位锚点。就如同CSS,Jquery中的ID选择器定位页面DOM元素一样,通过ID快速跳转到指定锚点位置。同样的示例:

<body>
  <a href="#d3">我在找OA系统</a><br/>
  <a id="d1">禅道项目管理软件</a>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <a id="d2">蝉知企业门户系统</a>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  <a id="d3">然之协同办公系统</a>
  <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
</body>

HTML5这样修改最大的好处就是方便用户跳转任意元素,因为每个元素都可以设置ID属性,而无需再去嵌套a标签。也就是说,HTML5中所有设有id属性的标签元素都可直接当作锚点。使用选择器定位,这样也很符合前端人员书写CSS,Jquery的习惯。而且各大主流搜索引擎都已兼容该功能。

现在再回过头来看用户提问的关于蝉知系统手册功能里锚点问题,就迎刃而解了。本文我们一起分享了HTML5中是如何实现锚点链接的,如果大家在平时网站开发运营过程中遇到其他问题,欢迎一起分享交流,我们共同学习,共同进步。

相关文章

  • HTML5中a标签的锚点使用

    前几天有个用户问我关于在线手册功能里的锚点问题。因为他通过代码发现,在编辑手册内容时,锚点的设置是通过id选择器来...

  • HTML(三)锚点和列表

    锚点标签 .... 作用:同一个文档中创建指向该锚(位置)的链接 定义是用的name属性,锚点链接使用href属性...

  • href之锚点跳转

    求稳 href之锚点跳转 锚点用 标签,在href属性中写入DIV的id。 标签包裹,href指向要跳转的位置 跳...

  • 【a标签的锚点技术】

    锚点技术 锚点:指的是一个网页上的某个“定位位置”。 锚点的实现:需要使用至少2次a标签来配合完成。 其基本形式如...

  • vue 锚点

    在某些场景中,我们通常使用锚点,进行定位,跳转我们需要的页面 方法一a 标签的锚点跳转 如果在同一页面跳转,该方法...

  • 超链接选择器a 和 a:link 区别

    问题:a{} 和 a:link{} 使用时有什么区别? 最关键是:a 标签 有 锚点和超链接 两种功能 锚点:没有...

  • hash锚点定位偏移问题之用js方法解决

    当我们使用a标签做锚点定位的时候,如果有做固定顶部导航栏的话,直接定位到锚点的时候,会发现定位的位置相较于锚点往下...

  • HTML超链接

    如果使用外部地址(非本项目的页面),地址需要加上http等协议 在新标签页打开超链接 新建锚点 跳转到锚点

  • react实现锚点

    实现锚点滚动,不要使用 标签,会引发路由跳转。我们使用H5的新增API,scrollToAnchor 以前使用 标...

  • Web前端------超链接的small trick和特殊符号以

    超链接回到顶部 具体步骤:1.设置锚点2.a标签中链接到锚点例如:``

网友评论

    本文标题:HTML5中a标签的锚点使用

    本文链接:https://www.haomeiwen.com/subject/fsbfkxtx.html