W3C HTML5标准阅读笔记 – a元素

标准原文:http://www.w3.org/TR/html5/text-level-semantics.html#the-a-element

HTML中,a元素用于给页面上的内容添加超链接效果;其内容模型(Content Model)为Transparent,也即a元素内部子元素的合法性由该a元素的父元素所决定;除了这一内容模型的限制,a元素内部还不允许出现任何按钮或者超链接等交互元素 -- 这一点比较好理解,如果a元素内部出现交互元素的话,浏览器的用户交互处理将出现混乱。

因此,a元素内部可以出现段落、列表、表格等较复杂的组件,只要这些组件内没有按钮或超链接等交互元素即可;在这种情况下,浏览器将给整个复杂组件添加超链接效果。

除了通用的全局属性,a元素还可以拥有以下特有属性:

  • href。设置超链接资源的地址。如果没有href属性,则a标签仅作暂时标记用(这块内容之后可被页面脚本加上超链接)。对于这种a标签,在超链接没有被加上之前,浏览器不会给它添加“链接”效果 -- 只有用JS给它加上href属性后才会出现“链接”效果。如果href属性缺失,则下述target、download、rel、hreflang和type属性都不应在该a标签中出现。
  • target。设置浏览超链接资源的环境。比较常用的有_self(在当前浏览器窗口打开)和_blank(新开一个浏览器窗口,并在新的窗口中打开)。
  • download。boolean属性,只要a元素拥有download属性,不管属性值是什么,浏览器都会下载该超链接所指定的资源。按照HTML5标准的定义,download属性值可用于设定资源下载后的文件名;但经过测试,该规则在Google Chrome中无效,因此实际应用时往往只使用download属性而不定义其属性值。
  • rel。设定当前页面与超链接资源之间的关系,一般用于增加语义,如rel="author", rel="next", rel="noreferrer"等。当设定rel="noreferrer"后,浏览器在访问跳转后的页面时会丢弃Referer信息。
  • hreflang。设定超链接资源的自然语言。
  • type。与link元素的type属性一样,用于设定超链接资源的MIME Type。

Chuan Shao

Read more posts by this author.

Shanghai

Subscribe to Chuan's blog

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!