在链接中使用“#”符号是否可以接受,只是为了避免样式问题?

时间:2014-03-12 23:37:02

标签: html css hyperlink href

我们想要修改this drop down naviagtion demo

您可以看到父标签名为" Blog"和#34;工作",正在链接到?blog?work,这意味着当我修改此演示时,我可以将它们链接到domain.com/blog.htm和它会工作得很好。

但是,如果我不希望这些家长链接到任何地方(而且只有他们的子标签会是实际的链接),我不可能让这个演示工作如果我完全从这些父标签中删除a href标签,请正确使用。

因此,我可以将它们都链接到#,因此演示可以保持正常工作,但是如果用户点击这个"虚拟"链接,据我所知,它不会发送任何服务器请求。

问题是这是否是一种可接受的做法(拥有这个无用的#标签,只是为了维持导航的相同工作流程)?

3 个答案:

答案 0 :(得分:1)

通常,如果某个元素没有语义作为链接,那么它就不应该具有href属性。

href="#"的预期行为实际上是滚动到页面顶部,不是"什么都不做"

AFAIK,下拉菜单的最佳做法是将下拉列表的元素ID放入菜单项的href属性中(例如href="#dropdown") ,以便单击菜单项滚动到正确的下拉列表。如果愿意,您可以使用JS来阻止default link behavior滚动。

将根菜单项实现为链接具有语义意义,因为您需要链接"到可见的下拉页状态。

对于触摸设备上的下拉菜单 ,根菜单项为链接(可点击)。

答案 1 :(得分:0)

我认为大多数标准都可以接受。就我个人而言,我不喜欢它,并且我不会使用任何链接来处理任何不能链接的东西,或者是某个动作的控件。因此,您可以使用更合适的元素,而不是使用<a>作为元素。在这种情况下,我认为你不需要一个,你可以将样式应用到<li>或使用<span>来获得额外的样式,如果你无法解决这个问题。

答案 2 :(得分:0)

您可以使用onclick属性禁用链接。

<a href="#" onclick="return false;">Link</a>