Emmet 使用指南
Emment是一个可以极大程度提高前端开发效率的工具。它提供了一种十分简练的语法规则,生成对应的HTML结构和CSS代码。
语法规则
首先,你需要记住的是键入缩写后使用
Tab键进行自动补全,生成完整的HTML标签。
- 输入
!或者html:5按下tab键就可以生成一个基本的HTML结构:
1 |
|
当然,一个最简单的文档结构还可以更简化:
1 |
|
接下来,便可以进行更多的探索,以下以 E 指代一个 HTML 标签,通过 Emmet 语法,可以实现:
1 | E 代表HTML标签。 |
一个比较综合的例子:
1 | #page>div.logo+ul#navigation>li*5>a{Item $} |
按下 tab 你就会得到:
1 | <div id="page"> |
基础用法
元素(标签)
键入标签名称,按下
tab键,就会得到对应的标签元素。
1 | div |
1 | <div></div> |
1 | h3 |
1 | <h3></h3> |
class
使用点(
.)生成class属性。
1 | div.page |
1 | <div class="page"></div> |
1 | p.info |
1 | <p class="info"></p> |
1 | .header |
1 | <div class="header"></div> |
注意:默认不写前面的标签会自动生成一个 div 标签。
id
使用
#生成id标签。
1 | div.footer |
1 | <div id="footer"></div> |
一个比较复杂的例子:
1 | div#header+div.page+div#footer.class1.class2.class3 |
1 | <div id="header"></div> |
a
使用
:可以生成一些特殊的属性。
1 | a:link => <a href="http://"></a> |
子标签生成
使用
>生成子标签。
1 | div>ul>li |
1 | <div> |
同级标签生成
使用
+生成同级标签。
1 | div+p+bq |
1 | <div></div> |
父级标签生成
使用
^生成父级标签。
1 | div+div>p>span+em |
1 | <div></div> |
一个实例:
1 | div+div>p>span+em^bq |
1 | <div></div> |
更复杂一点的用法:
1 | div+div>p>span+em^^^bq |
1 | <div></div> |
乘法
使用
*生成多个标签。
1 | ul>li*3 |
1 | <ul> |
分组
使用
()进行分组。
1 | div>(header>ul>li*2>a)+footer>p |
1 | <div> |
一个比较复杂的例子:
1 | (div>dl>(dt+dd)*3)+footer>p |
1 | <div> |
属性
使用
[]自定义属性
1 | a[href='#' data-title='customer' target='_blank'] |
1 | <a href="#" data-title="customer" target="_blank"></a> |
编号
使用
$进行编号
1 | ul>li.item$*3 |
1 | <ul> |
可以$连续使用多个用零填充数字:
1 | ul>li.item$$$*3 |
1 | <ul> |
使用 @ 修改器,可以改变编号起始值。
@N 改变起始值:
1 | ul>li.item$@3*5 |
1 | <ul> |
文本
使用
{}添加文本。
1 | a{Click me} |
1 | <a href="">Click me</a> |
进阶用法
随机填充文本
在开发的过程中,常有需要一些文本填充位置占位。
Emmet内置了Lorem Ipsum功能来实现。loremN或者lipsumN,N表示生成的单词数,正整数。
1 | lorem |
1 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas iusto, incidunt, est facilis quisquam possimus, aliquid provident aperiam sunt numquam a et. Asperiores distinctio explicabo quibusdam accusamus nesciunt, eius autem! |
1 | (p>lorem4)*3 |
或者:
1 | p*3>lorem4 |
1 | <p>Lorem ipsum dolor sit.</p> |