什么是href ="#"以及为什么使用它?

您所在的位置:网站首页 rua它什么意思 什么是href ="#"以及为什么使用它?

什么是href ="#"以及为什么使用它?

#什么是href ="#"以及为什么使用它?| 来源: 网络整理| 查看: 265

在许多网站上,我看到了链接href="#".这是什么意思?它是干什么用的?

问题回答关于超链接:

锚标记的主要用途 - - 作为超链接.这基本上意味着他们会把你带到某个地方.超链接需要href属性,因为它指定了一个位置.

哈希:

散列 - #在超链接中指定应滚动窗口的html元素id.

href="#some-id"会滚动到当前页面上的元素,例如.

href="//site.com/#some-id"会转到site.com并滚动到该页面上的ID.

滚动到顶部:

href="#"没有指定id名称,但确实有相应的位置 - 页面顶部.单击锚点href="#"会将滚动位置移动到顶部.

看这个演示.

根据w3文档,这是预期的行为.

超链接占位符:

超链接占位符有意义的示例在模板预览中.在模板的单页演示中,我经常看到锚标签是一个超链接,但不会去任何地方.为什么不href留空?空白href属性实际上是指向当前页面的超链接.换句话说,它将导致页面刷新.正如我所讨论的,href="#"也是一个超链接,并导致滚动.因此,超链接占位符的最佳解决方案实际上href="#!"这里的想法是,希望不是页面上的元素id="!"(谁做那个!?),因此超链接没有引用 - 所以没有任何反应.

关于锚标签:

您可能想知道的另一个问题是,"为什么不关闭href属性?".我听到的一个常见的反应是该href物业是必需的,所以它"应该"存在于锚上.这是假的!该href属性仅用于锚实际上是超链接!从w3中读取此内容.那么,为什么不把它留给占位符呢?浏览器为元素呈现默认样式,并将更改不具有href属性的锚标记的默认样式.相反,它将被视为常规文本.它甚至会改变浏览器关于元素的行为.将鼠标悬停在没有href属性的锚点上时,不会显示状态栏(屏幕底部).最好在锚点上使用占位符href值,以确保将其视为超链接.

请参阅此演示,演示样式和行为差异.

问题回答

将"#"符号作为某事物的href意味着它不指向不同的URL,而是指向同一页面上的另一个id或name标记.例如:

Click to go to the bottom of the page blah blah blah blah ...

但是,如果没有id或名称,那么它就会"无处可去".

这是另一个类似的问题,HTML Anchors用'name'或'id'?

问题回答

这是一个基本链接到无处的链接(它只是在URL上添加"#").它的使用有很多不同的原因.例如,如果您正在使用某种JavaScript/jQuery,并且不希望实际的HTML链接到任何地方.

它也用于页面锚点,用于重定向到页面的不同部分.

问题回答

通常创建无序列表的目的是将它们用作菜单,但li列表项是文本.因为列表li项是文本,所以鼠标指针不是箭头,而是"I光标".用户习惯于在可点击某些内容时看到鼠标指针的指针.在标签a内使用锚标签li会导致鼠标指针变为指向手指.使用列表作为菜单,指点手指更好.

Menu Item 1 Menu Item 2 Menu Item 3 Menu Item 4

如果列表用于菜单,并且不需要链接,则不需要指定URL.但问题是,如果省略该href属性,标签中的文本将被视为文本,因此鼠标指针将返回到I光标.I光标可能会让用户认为菜单项不可点击.因此,您仍然需要一个href,但您不需要任何地方的链接.

你可以使用很多div或p标签作为菜单列表,但鼠标指针也是它们的I光标.

您可以使用大量按钮堆叠在一起作为菜单列表,但列表似乎更可取.这可能就是为什么href="#"指向无处的地方用在list标签内的锚标签中.

您可以在CSS中设置指针样式,这是另一种选择.该href="#"无处可能只是偷懒的方法来设置一些样式.

问题回答

不幸的是,最常见的用途是懒惰程序员,他们想要可点击的非超链接javascript编码元素,其行为类似于锚点,但是他们不能为了非超链接元素而为类添加cursor: pointer;或:hover样式,并且另外懒得设置href到javascript:void(0);.

这个问题是一个或另一个不可避免地最终导致javascript错误,并且带有onclick javascript错误的锚总是会跟随它href.通常情况下,这最终会成为页面顶部的恼人跳转,但在使用网站的情况下,会被处理,导致意外导航. 如果生成任何可记录的错误,除非启用持久性日志,否则在后一种情况下您将看不到它们.

如果锚定元件被用作一个非锚定它应具有其href设置为javascript:void(0);用于起见优雅降级.

我只是浪费了两天调试一个随机的意外页面重定向,应该简单地刷新页面,最后将其追踪到一个提升点击事件的函数.更换#用javascript:void(0);固定它.

我周一做的第一件事是清除所有实例的项目.

问题回答

将href ="#"用于空链接的问题在于它会将您带到页面顶部,这可能不是所需的操作.为避免这种情况,请使用旧版浏览器或非HTML5文档类型

Goes Nowhere 问题回答

据我所知,它通常是一个占位符,用于附加一些JavaScript的链接.通过执行JavaScript代码来提供链接的要点; 支持JS的浏览器然后忽略真正的链接目标.如果浏览器不支持JS,则哈希标记实际上将链接转换为无操作.另请参见不引人注目的JavaScript.

问题回答

正如其他一些答案所指出的那样,该a元素需要一个href属性,并且它#被用作占位符,但它也是一个历史工件.

来自Mozilla开发者网络:

HREF

这是定义超文本源链接的锚点的唯一必需属性,但在HTML5中不再需要.省略此属性会创建占位符链接.href属性指示链接目标,URL或URL片段.URL片段是以哈希标记(#)开头的名称,它指定当前文档中的内部目标位置(ID).

另外,根据HTML5 规范:

如果a元素没有href属性,则该元素表示一个占位符,否则链接可能放置在该占位符中(如果它是相关的),仅包含元素的内容.

问题回答

href 属性定义链接资源的 URL。如果锚标签没有 href 标签,那么它不会成为超链接。href 属性具有以下值:

1. Absolute path: move to another site like href="http://www.google.com" 2. Relative path: move to another page within the site like herf ="defaultpage.aspx" 3. Move to an element with a specified id within the page like href="#bottom" 4. href="javascript:void(0)", it does not move anywhere. 5. href="#" , it does not move anywhere but scroll on the top of the current page. 6. href= "" , it will load the current page but some browsers causes forbidden errors. Note: When we do not need to specified any url inside a anchor tag then use Test1 本文标题: 什么是href ="#"以及为什么使用它? 本文网址: https://www.aigwa.com/cms/Content/detail/650.html 本文标签: hyperlinkhtml


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3