--- title: 常用的宏 slug: MDN/Structures/Macros/Commonly-used_macros tags: - CSS - 参考 - 宏 - 结构 translation_of: MDN/Structures/Macros/Commonly-used_macros original_slug: MDN/Structures/Macros/Custom_macros ---
{{MDNSidebar}}

本页列举了一些 MDN 中的常用宏命令。对于使用这些宏的入门信息,请阅读使用宏这篇文章。

还有一些不常用或只在特定内容中适用,以及一些不赞成使用的宏的信息,参见其它宏。对于调整页面样式相关的宏,另见CSS 样式指南

链接

为了简化一些常见超链接的创建工作——如指向站内的技术参考页面、术语库以及其他主题的链接,我们提供了丰富的宏来完成这些工作

我们推荐使用宏来创建这些常见的链接,这样不但简洁,对翻译工作也很友好——使用宏创建的术语库和技术参考链接不需要翻译者再做处理,这些宏可提供正确的链接,使其符合当前页面的语言。

正如{{TemplateLink("Glossary")}}这个宏的名字所示,它可用于创建指向 MDN 中术语库内一个具体词条的链接。调用这个宏时,有一个必需的参数和一个可选参数。

  1. 术语的名字,比如“HTML”。
  2. 可选参数:使用参数中的文本内容,替代术语的名字显示在页面中。

{{TemplateLink("anch")}} 可用于创建指向当前文章中其他小节的链接。它和 Glossary 有一个相同作用的可选参数可在翻译时使用。

链接到 MDN 的参考文档页面

下面列出的宏可链接到 MDN 站内不同技术领域的参考文档,如 Javascript,、CSS、HTML、elements、SVG 等。

这些宏都很容易上手,大多数情况下只需一个参数——所涉及的 Web 组件的名字(如标签、对象、方法、属性等的名字)。在{{anch("Glossayrlinks","术语库")}}中提到的,可修改实际显示的文本的可选参数,也存在于下面大多数宏中。如果你想了解其他参数,表格中最左列的链接中可以查看相关宏的文档。

所归属的主题页面 示例
{{TemplateLink("CSSxRef")}} CSS 参考文档 (/Web/CSS/Reference) \{{CSSxRef("cursor")}}会指向{{CSSxRef("cursor")}}.
{{TemplateLink("DOMxRef")}} DOM 参考文档 (/Web/API) \{{DOMxRef("Document")}}\{{DOMxRef("document")}}都指向{{DOMxRef("Document")}}。
\{{DOMxRef("document.getElementsByName()")}}会指向{{DOMxRef("document.getElementsByName()")}}
\{{DOMxRef("Node")}}会指向{{DOMxRef("Node")}}.
你可以使用第二个参数控制在页面上实际显示的文本:\{{DOMxRef("document.getElementsByName()","getElementsByName()")}}会生成{{DOMxRef("document.getElementsByName()","getElementsByName()")}}
{{TemplateLink("HTMLElement")}} HTML 元素参考文档 (/Web/HTML/Element) \{{HTMLElement("select")}}会指向{{HTMLElement("select")}}
{{TemplateLink("HTMLAttrxRef")}} 如果只指明了属性的名字,链接会跳转到 HTML 全局属性页面对应属性的位置。
如果同时指明 HTML 元素和属性名,则会跳转到元素页面下对应属性的位置。
\{{HTMLAttrxRef("lang")}} 会指向{{HTMLAttrxRef("lang")}}.
\{{HTMLAttrxRef("type","input")}}生成的链接则会跳转到{{HTMLElement("input")}}元素页面下的{{HTMLAttrxRef("type","input")}}属性。
{{TemplateLink("JSxRef")}} JavaScript 参考文档(/Web/JavaScript/Reference). \{{JSxRef("Promise")}}会指向{{JSxRef("Promise")}}
{{TemplateLink("SVGAttr")}} SVG 属性参考 (/Web/SVG/Attribute). \{{SVGAttr("d")}}会指向{{SVGAttr("d")}}
{{TemplateLink("SVGElement")}} SVG 元素参考 (/Web/SVG/Element). \{{SVGElement("view")}}会指向{{SVGElement("view")}}
{{TemplateLink("HTTPHeader")}} HTTP 消息头 (/Web/HTTP/Headers). \{{HTTPHeader("ACCEPT")}}会指向{{HTTPHeader("ACCEPT")}}
{{TemplateLink("HTTPMethod")}} HTTP 请求方法 (/Web/HTTP/Methods). \{{HTTPMethod("HEAD")}}会指向{{HTTPMethod("HEAD")}}
{{TemplateLink("HTTPStatus")}} HTTP 响应代码 (/Web/HTTP/Status) \{{HTTPStatus("404")}}会指向{{HTTPStatus("404")}}
{{TemplateLink("event")}} 事件参考 (/Web/Events)

注意

因为事件关联在具体的元素下,这个宏不是特别有用。例如想指向 wheel 事件的页面,需要使用 \{{DOMxRef("Document.wheel_event")}}:{{DOMxRef("Document.wheel_event")}}

关联到某个 Bug

{{TemplateLink("Previous")}}、{TemplateLink("Next")}} 和 {{TemplateLink("PreviousNext")}} 这几个宏可以在页面中创建导航栏,帮助读者按照文章的先后顺序阅读。其中的参数需要填入目标页面在 MDN 中的位置,你可以在页面的网址中找到所需的信息。对于 {{TemplateLink("PreviousNext")}},需要的两个参数是相应文章的 Wiki 位置。第一个参数用于上一篇文章,第二个参数用于下一篇文章。

代码示例

动态示例

一些有海量子条目的主题,比如技术参考、指南、教程等,通常需要一个单独的主页面提供导航。对于这些主题中的页面,顶部的面包屑导航就显得比较简陋,下面这些模板,可以在页面的左侧,生成对应主题的侧边导航栏。

通用的文章格式化工具

API 文档的行内指示器

{{TemplateLink("optional_inline")}} 和 {{TemplateLink("ReadOnlyInline")}} 被用于 API 文档,通常可以用来描述一个对象的属性是只读的或一个函数的参数是可省略的。

用法: \{{optional_inline}}\{{ReadOnlyInline}} 。示例:

isCustomObject {{ReadOnlyInline}}
如果此项值为 true,表明该对象是一个自定义对象。
某项参数{{optional_inline}}
参数描述

状态和兼容性指示器

无需参数的行内指示器

非标准的

{{TemplateLink("non-standard_inline")}} 插入一个行内标记,表示 API 尚未标准化并且不在标准轨道上。

语法

\{{Non-standard_Inline}}

示例

实验性的

{{TemplateLink("Experimental_Inline")}} 插入一个行内标记,表示当前 API 没有被广泛地实现,并且在以后可能会改变。

语法

\{{Experimental_Inline}}

示例

代表明确技术参考的行内指示器

已弃用

{{TemplateLink("deprecated_inline")}}会插入一个带有 ({{Deprecated_Inline}}) 的标记以阻止使用官方不推荐使用(或已删除)的 API。

语法

\{{Deprecated_Inline}}

示例

页面或章节头部的指示器

下列指示器的含义,类似于上述的内联指示器。这些组件应直接放置在技术参考页面的标题(或面包屑导航栏)下,也可以用于标记页面上的某个小节。

表明某个功能在 Web Worker 中可用的指示器

{{TemplateLink("AvailableInWorkers")}} 宏插入一个本地化的注释框,指示一个功能在 Web worker 上下文中可用。它还有一个可选参数,当带有notservice时,表示该功能在 Web Worker 中可用但在 Servcie Worker 中不可用。

语法
\{{AvailableInWorkers}}
\{{AvailableInWorkers("notservice")}}
Examples
{{AvailableInWorkers}} {{AvailableInWorkers("notservice")}}