Emmet(ZenCoding)略語構文
略語構文
Emmetでは、CSSセレクタと同様の構文を使用して、生成されたドキュメントツリー内の要素の位置とその属性を記述します.
要素
要素名(divやpなど)を使用して生成できます. HTMLタグ.Emmetには事前に定義された有効な要素名の集合がなく、任意の単語をラベルとして生成および使用できます:div →
, foo → など.
ネスト演算子
ネストされた演算子は、生成ドキュメントツリー内の要素の位置を省略形で配置します.内部に配置するか、隣接する要素になります.
サブ: >
使用可能> 演算子は、ネストされた要素を別の要素の内部に指定します.
結果は次のとおりです.
兄弟: +
使用 + 演算子は、隣接する他の要素を兄弟として処理します.
結果は次のとおりです.
上昇: ^
使用 > 演算子は、生成ツリー内の後続のすべての要素のレベルを下げ、各レベルの兄弟要素も同じ深さの要素に解析されます.
生成されます.
使用 ^ 演算子:生成ツリー内の要素のレベルを上げ、その後の要素に影響を与えることができます.
生成されます.
複数連続使用可能 ^ 演算子、レベルを1つずつ上げます.
生成されます.
繰り返し: *
使用 * 演算子は、要素のセットを定義します.
生成されます.
グループ化: ()
括弧は、複雑なEmmetの略語でサブツリーのセットを処理するために使用されます.
生成されます.
ブラウザDOMと連携して作業する場合は、ドキュメントフラグメントをグループ化します.各グループにはサブツリーが含まれており、後続のすべての要素がグループの最初の要素と同じレベルに挿入されます.
グループにグループをネストして使用できます. * 演算子は次のようにバインドされます.
生成されます.
グループ化を使用すると、単一の略語でページ全体のラベルを1つずつ書くことができますが、できるだけそうしないでください.
属性演算子
属性演算子は、生成された要素の属性を編集するために使用され、HTMLとXMLで生成要素をすばやく追加できます. class で行ないます.
IDとCLASS
CSSでは、 elem#id および elem.class 要素に割り当てられた注記 id または classプロパティの目的.Emmetでは、ほとんど同じ構文を使用して、指定した要素にこれらの属性を追加できます:element:
生成:
カスタムプロパティー
使用可能 [attr] 注記(CSSと同様)を使用して、要素にカスタム属性を追加します.
生成されます.
四角カッコに多くのプロパティを配置できます.属性に値を指定しないことができます. td[colspan title] 生成されます ,エディタがサポートされている場合は、tabを使用して各空のプロパティにジャンプして記入できます.
アトリビュートは、境界記号として単一引用符または二重引用符を使用できます.
属性にスペースが含まれていない場合は、td[title=hello colspan=3]で囲む必要はありません. 正しいです.
番号: $
使用 * 演算子は、 $ 番号を付けることができます.つかむ $ 要素名、属性名または属性値に配置すると、各要素に正しい番号が生成されます.
生成されます.
使用量が多い $ 先頭のゼロを入力できます.
生成されます.
番号の基数と方向を変更
使用 @ ,数値の進行(昇順または降順)と基数(開始値など)を変更できます.
にある $ 後に追加 @- 数字の方向を変えます.
生成されます.
にある $ 後に追加 @N番号の基数を変更する:
生成されます.
これらの追加の演算子は、次のように同時に使用できます.
生成されます.
テキスト: {}
カッコで要素にテキストを追加できます.
生成されます.
注意、これ {text} 独立した要素として解析されます( div, p ),しかし、他の要素の後に続く場合は異なります.たとえば、 a{click} および a>{click} 同じ出力を生成しますが、 a{click}+b{here} および a>{click}+b{here} の出力が異なります.
第2の例では、 要素は 要素中.错误如下. {text} 親要素のコントローラーに影響を与えない要素の後ろに書きます。この違いの重要性を示す複雑な例を次に示します。p>{Click}+a{here}+{to continue}生成:<p>Click<a href=">>here</a>to continue</p>この例では > 演算子の明示的な Click here to continue 把水平移动到1个下,
Emmetでは、CSSセレクタと同様の構文を使用して、生成されたドキュメントツリー内の要素の位置とその属性を記述します.
要素
要素名(divやpなど)を使用して生成できます. HTMLタグ.Emmetには事前に定義された有効な要素名の集合がなく、任意の単語をラベルとして生成および使用できます:div →
, foo →
ネスト演算子
ネストされた演算子は、生成ドキュメントツリー内の要素の位置を省略形で配置します.内部に配置するか、隣接する要素になります.
サブ: >
使用可能> 演算子は、ネストされた要素を別の要素の内部に指定します.
div>ul>li
結果は次のとおりです.
<div>
<ul>
<li></li>
</ul>
</div>
兄弟: +
使用 + 演算子は、隣接する他の要素を兄弟として処理します.
div+p+bq
結果は次のとおりです.
<div></div>
<p></p>
<blockquote></blockquote>
上昇: ^
使用 > 演算子は、生成ツリー内の後続のすべての要素のレベルを下げ、各レベルの兄弟要素も同じ深さの要素に解析されます.
div+div>p>span+em
生成されます.
<div></div>
<div>
<p><span></span><em></em></p>
</div>
使用 ^ 演算子:生成ツリー内の要素のレベルを上げ、その後の要素に影響を与えることができます.
div+div>p>span+em^bq
生成されます.
<div></div>
<div>
<p><span></span><em></em></p>
<blockquote></blockquote>
</div>
複数連続使用可能 ^ 演算子、レベルを1つずつ上げます.
div+div>p>span+em^^^bq
生成されます.
<div></div>
<div>
<p><span></span><em></em></p>
</div>
<blockquote></blockquote>
繰り返し: *
使用 * 演算子は、要素のセットを定義します.
ul>li*5
生成されます.
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
グループ化: ()
括弧は、複雑なEmmetの略語でサブツリーのセットを処理するために使用されます.
div>(header>ul>li*2>a)+footer>p
生成されます.
<div>
<header>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</header>
<footer>
<p></p>
</footer>
</div>
ブラウザDOMと連携して作業する場合は、ドキュメントフラグメントをグループ化します.各グループにはサブツリーが含まれており、後続のすべての要素がグループの最初の要素と同じレベルに挿入されます.
グループにグループをネストして使用できます. * 演算子は次のようにバインドされます.
(div>dl>(dt+dd)*3)+footer>p
生成されます.
<div>
<dl>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
</dl>
</div>
<footer>
<p></p>
</footer>
グループ化を使用すると、単一の略語でページ全体のラベルを1つずつ書くことができますが、できるだけそうしないでください.
属性演算子
属性演算子は、生成された要素の属性を編集するために使用され、HTMLとXMLで生成要素をすばやく追加できます. class で行ないます.
IDとCLASS
CSSでは、 elem#id および elem.class 要素に割り当てられた注記 id または classプロパティの目的.Emmetでは、ほとんど同じ構文を使用して、指定した要素にこれらの属性を追加できます:element:
div#header+div.page+div#footer.class1.class2.class3
生成:
<div id="header"></div>
<div class="page"></div>
<div id="footer" class="class1 class2 class3"></div>
カスタムプロパティー
使用可能 [attr] 注記(CSSと同様)を使用して、要素にカスタム属性を追加します.
td[title="Hello world!" colspan=3]
生成されます.
<td title="Hello world!" colspan="3"></td>
四角カッコに多くのプロパティを配置できます.属性に値を指定しないことができます. td[colspan title] 生成されます ,エディタがサポートされている場合は、tabを使用して各空のプロパティにジャンプして記入できます.
アトリビュートは、境界記号として単一引用符または二重引用符を使用できます.
属性にスペースが含まれていない場合は、td[title=hello colspan=3]で囲む必要はありません. 正しいです.
番号: $
使用 * 演算子は、 $ 番号を付けることができます.つかむ $ 要素名、属性名または属性値に配置すると、各要素に正しい番号が生成されます.
ul>li.item$*5
生成されます.
<ul>
<li class="item1"></li>
<li class="item2"></li>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
</ul>
使用量が多い $ 先頭のゼロを入力できます.
ul>li.item$$$*5
生成されます.
<ul>
<li class="item001"></li>
<li class="item002"></li>
<li class="item003"></li>
<li class="item004"></li>
<li class="item005"></li>
</ul>
番号の基数と方向を変更
使用 @ ,数値の進行(昇順または降順)と基数(開始値など)を変更できます.
にある $ 後に追加 @- 数字の方向を変えます.
ul>li.item$@-*5
生成されます.
<ul>
<li class="item5"></li>
<li class="item4"></li>
<li class="item3"></li>
<li class="item2"></li>
<li class="item1"></li>
</ul>
にある $ 後に追加 @N番号の基数を変更する:
ul>li.item$@3*5
生成されます.
<ul>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
<li class="item6"></li>
<li class="item7"></li>
</ul>
これらの追加の演算子は、次のように同時に使用できます.
ul>li.item$@-3*5
生成されます.
<ul>
<li class="item7"></li>
<li class="item6"></li>
<li class="item5"></li>
<li class="item4"></li>
<li class="item3"></li>
</ul>
テキスト: {}
カッコで要素にテキストを追加できます.
a{Click me}
生成されます.
<a href="">Click me</a>
注意、これ {text} 独立した要素として解析されます( div, p ),しかし、他の要素の後に続く場合は異なります.たとえば、 a{click} および a>{click} 同じ出力を生成しますが、 a{click}+b{here} および a>{click}+b{here} の出力が異なります.
<!-- a{click}+b{here} -->
<a href="">click</a><b>here</b>
<!-- a>{click}+b{here} -->
<a href="">click<b>here</b></a>
第2の例では、 要素は 要素中.错误如下. {text} 親要素のコントローラーに影響を与えない要素の後ろに書きます。この違いの重要性を示す複雑な例を次に示します。p>{Click}+a{here}+{to continue}生成:<p>Click<a href=">>here</a>to continue</p>この例では > 演算子の明示的な Click here to continue 把水平移动到1个下,
虽然是要素内, a 不需要要素的内容。 のみ here 在这个评估中,父母要素的基础设施没有改变.与其相比,以下是不想拥有演算子的同样的省略语.
p{Click }+a{here}+{ to continue}生成:<p>Click</p><a href="">>here</a>to continue省略形的注意Emmet的略语构文精通的情况下,有时想生成几个手机可以阅读的略语.如果要素和演算子之间使用空间的空间隔。(header>ul.nav>li*5)+footer,西班斯是Emmet停止简语解析的识别子,所以这个写法是错误的。多个用户认为应该把各简语写成新的行为,但在网站的任意场所,可以扩大简语.(在这里,原文用屏幕制作了一例,因为限制了博客的体例,所以不能把原文的样本放在本稿上,所以在屏幕上录画了画面。在这里,有兴趣的朋友去原文的住所进行原文。可以看例子)也就是说,如果停止解析和扩张的话,Emmet需要几个框架.复杂的略语的话,需要更容易阅读的手机.略語不是网络用语."迅速扩张可以移动"有必要.必须写复杂的略语.在web程序中"入力"是最晚的计算.构筑单词复杂的略语,比起能够进入结构和简单的略语更晚.