0
点赞
收藏
分享

微信扫一扫

Emmet Documentation(Translation)


Emmet Documentation

​​官方文档地址​​

Elements

Emmet自身并没有预先定义合法标签的集合,只会根据你写的标签名来生成标签对,需要在语句的最后加上Tab键来生成,例如:
​​​div+Tab -> <div></div>​​​
​​​study+Tab -> <study></study>​

Nesting operators

一个html文件中的所有元素满足一颗生成树结构,根结点为html,根结点的子节点有head和body,而head结点的子结点又有title、meta等等;Emmet使用嵌套的符号来定位这些元素在树中的位置;

Child: >

使用符号’>‘表示其后跟着的是前一个结点的直接子结点,例如:
​​​div>ul>li​​​
生成

<div>
<ul>
<li></li>
</ul>
</div>

Sibling: +

使用符号’+‘表示其后跟着的是前一个结点的兄弟结点,即有相同父结点,例如:
​​​div+p+bq​​​
生成

<div></div>
<p></p>
<blockquote></blockquote>

Climb-up: ^

使用符号‘^’表示其后跟着的是前一个结点的父节点的兄弟结点,例如:
​​​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>

当然,你也可以使用多个^符号,来表示前一个结点的父结点的父结点的父结点的……兄弟结点,例如:
​​​div+div>p>span+em^^^bq​​​
生成

<div></div>
<div>
<p><span></span><em></em></p>
</div>
<blockquote></blockquote>

Multiplication: *

使用符号’*‘表示其后跟的元素会重复出现多少次,例如:
​​​ul>li*5​​​
生成

<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>

Grouping: ()

使用符号‘()’相当于将其后的所有元素当作一个结点,其实是一颗子树,例如:
​​​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>

这个时候结点div的子结点为(header>ul>li*2>a)和footer;
​​​(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>

(dt+dd)*3表示将会输出三次,这个时候(div>dl>(dt+dd)*3)结点和footer是兄弟结点;

Attribute operators

属性符号用于输出元素的属性,例如属性title、class、id等等;

ID and CLASS

使用符号’#‘后跟单词,表示的是结点的id属性,使用符号‘.’后跟单f词,表示的是结点的class属性;例如:
​​​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>

Custom attributes

使用’[attr]‘来表示结点的属性,例如:
​​​td[title="Hello world!" colspan=3]​​​
生成

<td title="Hello world!" colspan="3"></td>

需要注意的是,如果属性值包含空格,需要使用引号包含进来;如果仅仅写了属性名而没有包含值,默认值为空,例如:
​​​td[colspan title]​​​
生成

<td colspan="" title="">

Item numbering: $

使用符号‘$’可以使属性的值自增,常常配合符号‘*’使用,默认从1开始递增,例如:
​​​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>

Changing numbering base and direction

使用符号’@-‘可以改变值变化的方向(递增或者递减),其实就是将正序后的值颠倒一下,例如:
​​​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>

使用符号‘@number’可以改变’$’值的默认起始值,例如:
​​​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>

Text:{}

使用符号‘{}’可以表示标签包含的文本内容,例如:
​​​a{click me}​​​
生成

<a href="">Click me</a>


举报

相关推荐

0 条评论