我经常在其他网站和教程中看到,当锚点的目的大于仅仅是一个链接时,它通常会有一个#{1}}属性的标签(#
) 。我正在我正在进行的项目中的列表中创建一系列列表,我很想自己这样做,但我担心这可能会使团队中的其他开发人员正在努力成为这个主题标签的系统复杂化点击后会显示在地址栏中。
以这种方式排空href是否有缺点?我假设它不是由于这种方法的流行用法,但是标签可能会弄乱使用href
的函数吗?
答案 0 :(得分:5)
不用担心,“哈希标签”可以使用,已经成为十年标准的一部分,并且不会影响GET。 “锚标记”<a>
最初用于此目的。
您可以使用它来创建“跳转链接”以跳过文档的不同部分(锚点,如HTML规范文档页面本身所使用的),或者作为“hashbang”与javascript结合使用。
你不应该做的只是使用<a>
标签,无缘无故地获得指针光标。也就是说,如果你点击它时做的事情(通常为什么你把指针光标放在某个东西上),通过改变哈希,链接到新文档或触发javascript函数,没有理由不使用锚点标签,也不是不好的做法。
当您看到仅"#"
作为href
的锚点时,通常表示开发人员打算将javascript侦听器应用于该元素。如果客户端没有可用的javascript,空锚将作为无操作后备。在这种情况下,用户单击链接并且没有任何反应。如果您使用渐进增强原则,那么您可能会在其中放置一个非javascript URI等效。
<强>文档强>
答案 1 :(得分:0)
正如评论中所指出的,不要将HTML标记专门用于视觉“美”。这是CSS的任务,你应该学习separate concerns。对于HTML / CSS:HTML =信息,CSS =演示文稿。问问自己下次遇到类似问题时会发生什么。就个人而言,我会创建一个CSS class like this:
.handy{
cursor: pointer;
}
然后将类添加到所需的每个元素:
<ul id = "menu">
<li></li>
<li class = "handy"></li>
</ul>
根据你的情况,另一种方法是编写这样的CSS:
#menu li {
cursor: pointer;
}