属性扩展(Markdig 规范文档)
本节描述了支持的不同扩展:
通用属性
属性可以附加到:
- 如果前一个元素不是文字,则附加到前一个行内元素
- 如果当前块是段落,并且属性是段落中唯一的内联元素,则附加到下一个块
- 或者当前块
属性可以有三种类型:
- ID 元素,以
#
开头,用于设置 HTML 元素的id
属性 - 类元素,以
.
开头,将追加到 HTML 元素的 CSS 类属性 name=value
或name="value"
,将作为 HTML 元素的属性追加
以下示例说明属性附加到当前块或前一个行内元素:
# This is a heading with an an attribute{#heading-link}
# This is a heading # {#heading-link2}
[This is a link](http://google.com){#a-link .myclass data-lang=fr data-value="This is a value"}
This is a heading{#heading-link2}
-----------------
This is a paragraph with an attached attributes {#myparagraph attached-bool-property attached-bool-property2}
.
<h1 id="heading-link">This is a heading with an an attribute</h1>
<h1 id="heading-link2">This is a heading</h1>
<p><a href="http://google.com" id="a-link" class="myclass" data-lang="fr" data-value="This is a value">This is a link</a></p>
<h2 id="heading-link2">This is a heading</h2>
<p id="myparagraph" attached-bool-property="" attached-bool-property2="">This is a paragraph with an attached attributes </p>
以下示例说明属性可以附加到紧随其后的块,如果它们位于单独一行中,且在块之前(或前面是空行或块容器的开始):
{#fenced-id .fenced-class}
~~~
This is a fenced with attached attributes
~~~
.
<pre><code id="fenced-id" class="fenced-class">This is a fenced with attached attributes
</code></pre>
属性值可以是一个字符长
[Foo](url){data-x=1}
[Foo](url){data-x='1'}
[Foo](url){data-x=11}
.
<p>[Foo](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/url)</p>
<p>[Foo](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/url)</p>
<p>[Foo](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/url)</p>
以上代码展示了属性值可以是单个字符的情况。