Html 使用`#`登录链接只是为了避免样式问题,这是一种可以接受的做法吗?

Html 使用`#`登录链接只是为了避免样式问题,这是一种可以接受的做法吗?,html,css,hyperlink,href,Html,Css,Hyperlink,Href,假设我想修改 您可以看到名为“Blog”和“Work”的父选项卡正在链接到?Blog和?Work,这意味着当我修改此演示时,我可以让它们链接到domain.com/Blog.htm,并且工作正常 但是,如果我不想让这些家长链接到任何地方(而且只有他们的子选项卡才是实际链接),如果我完全从这些家长选项卡上取下a href标签,我就不可能让这个演示正常工作 因此,我可以让它们都链接到#,这样演示就可以继续正常工作,但如果用户单击此“虚拟”链接,据我所知,它不会发送任何服务器请求 问题是这是否是一种可

假设我想修改

您可以看到名为“Blog”和“Work”的父选项卡正在链接到
?Blog
?Work
,这意味着当我修改此演示时,我可以让它们链接到
domain.com/Blog.htm
,并且工作正常

但是,如果我不想让这些家长链接到任何地方(而且只有他们的子选项卡才是实际链接),如果我完全从这些家长选项卡上取下
a href
标签,我就不可能让这个演示正常工作

因此,我可以让它们都链接到
#
,这样演示就可以继续正常工作,但如果用户单击此“虚拟”链接,据我所知,它不会发送任何服务器请求


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

我认为从大多数标准来看,这是可以接受的。就我个人而言,我不喜欢它,我不会对任何不链接到任何东西的东西使用链接,也不会对某些操作使用控件。因此,您可以使用更合适的元素,而不是对元素使用
。在这种情况下,我认为您不需要一个,您可以将样式应用于
  • ,或者如果无法避免,可以使用
    s进行其他样式设置。

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


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

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

    好的,下拉菜单的最佳实践是将下拉菜单的元素ID放入菜单项的
    href
    属性(例如
    href=“#dropdown”
    ),以便单击菜单项滚动到正确的下拉菜单。如果您愿意,您可以使用JS来防止滚动

    当您“链接”到可见下拉页面状态时,将根菜单项实现为链接在语义上是有意义的


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

    此演示的关键在于它支持触摸屏。以Ipad为例,你必须点击家长,然后才能看到孩子,它阻碍了这一功能。所以它基本上不仅仅是造型。有趣的是,我想知道这种做法是否可以接受?(也许谷歌不会喜欢它。)我不是100%确定,但添加rel=“nofollow”可能会有所帮助。我知道google不喜欢人们将javascriptvoid(0)添加到href中。我认为将JS嵌入
    onclick
    属性有违最佳实践,因为它不能很好地与重写元素的“onclick”处理程序的其他方法配合使用。这就是在内联方法中添加它的意义所在。它允许它覆盖默认的onclick函数并使用它自己的函数。感谢您清除这个-我不知道可点击的项目必须是链接。不知道你的ID链接是什么意思。您的意思是让
    并将
    id=“blog”
    放在包含“blog”下所有子下拉列表的
    标记中吗?(在我的例子中)@rockyraw是的,这就是我的意思