--- 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 ---
本页列举了一些 MDN 中的常用宏命令。对于使用这些宏的入门信息,请阅读使用宏这篇文章。
还有一些不常用或只在特定内容中适用,以及一些不赞成使用的宏的信息,参见其它宏。对于调整页面样式相关的宏,另见CSS 样式指南。
为了简化一些常见超链接的创建工作——如指向站内的技术参考页面、术语库以及其他主题的链接,我们提供了丰富的宏来完成这些工作
我们推荐使用宏来创建这些常见的链接,这样不但简洁,对翻译工作也很友好——使用宏创建的术语库和技术参考链接不需要翻译者再做处理,这些宏可提供正确的链接,使其符合当前页面的语言。
正如{{TemplateLink("Glossary")}}这个宏的名字所示,它可用于创建指向 MDN 中术语库内一个具体词条的链接。调用这个宏时,有一个必需的参数和一个可选参数。
\{{Glossary("HTML")}}
会指向{{Glossary("HTML")}}。\{{Glossary("CSS", "Cascading Style Sheets")}}
会指向{{Glossary("CSS", "Cascading Style Sheets")}}。
{{TemplateLink("anch")}} 可用于创建指向当前文章中其他小节的链接。它和 Glossary 有一个相同作用的可选参数可在翻译时使用。
\{{anch("Linking to pages in references","链接到 MDN 的参考文档页面")}}
实际效果:链接到 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 事件的页面,需要使用
|
\{{Bug(123456)}}
会指向{{Bug(123456)}}.\{{WebkitBug(31277)}}
会指向{{WebkitBug(31277)}}.{{TemplateLink("Previous")}}、{TemplateLink("Next")}} 和 {{TemplateLink("PreviousNext")}} 这几个宏可以在页面中创建导航栏,帮助读者按照文章的先后顺序阅读。其中的参数需要填入目标页面在 MDN 中的位置,你可以在页面的网址中找到所需的信息。对于 {{TemplateLink("PreviousNext")}},需要的两个参数是相应文章的 Wiki 位置。第一个参数用于上一篇文章,第二个参数用于下一篇文章。
一些有海量子条目的主题,比如技术参考、指南、教程等,通常需要一个单独的主页面提供导航。对于这些主题中的页面,顶部的面包屑导航就显得比较简陋,下面这些模板,可以在页面的左侧,生成对应主题的侧边导航栏。
{{TemplateLink("optional_inline")}} 和 {{TemplateLink("ReadOnlyInline")}} 被用于 API 文档,通常可以用来描述一个对象的属性是只读的或一个函数的参数是可省略的。
用法: \{{optional_inline}}
或 \{{ReadOnlyInline}} 。
示例:
isCustomObject
{{ReadOnlyInline}}true
,表明该对象是一个自定义对象。{{TemplateLink("non-standard_inline")}} 插入一个行内标记,表示 API 尚未标准化并且不在标准轨道上。
\{{Non-standard_Inline}}
{{TemplateLink("Experimental_Inline")}} 插入一个行内标记,表示当前 API 没有被广泛地实现,并且在以后可能会改变。
\{{Experimental_Inline}}
示例
{{TemplateLink("deprecated_inline")}}会插入一个带有 ({{Deprecated_Inline}}) 的标记以阻止使用官方不推荐使用(或已删除)的 API。
\{{Deprecated_Inline}}
下列指示器的含义,类似于上述的内联指示器。这些组件应直接放置在技术参考页面的标题(或面包屑导航栏)下,也可以用于标记页面上的某个小节。
\{{Non-standard_Header}}
{{Non-standard_Header}}\{{SeeCompatTable}}
{{SeeCompatTable}}\{{Deprecated_Header}}
{{Deprecated_Header}}navigator.xyz
)等主要页面,但通常不在方法和属性页面等子页面上使用。语法: \{{SecureContext_Header}}
{{SecureContext_Header}}{{TemplateLink("AvailableInWorkers")}} 宏插入一个本地化的注释框,指示一个功能在 Web worker 上下文中可用。它还有一个可选参数,当带有notservice
时,表示该功能在 Web Worker 中可用但在 Servcie Worker 中不可用。
\{{AvailableInWorkers}} \{{AvailableInWorkers("notservice")}}