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> |