Emmet 使用文档
# Emmet 使用文档
Emmet 可以帮助我们快速开发页面代码,通过固定语法,快速生成 HTML、CSS 代码的一种工具。
# 使用方法
所有语法写完之后,直接使用 tab 键,就可以生成对应的代码。
# HTML 语法
# 生成结构文档
通过 ! 可以快速生成完整的结构文档。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
2
3
4
5
6
7
8
9
10
11
12
使用 !!! 可以只生成声明语句:
<!DOCTYPE html>
# 生成空元素
语法:元素名,如:div
<!-- div -->
<div></div>
2
# 生成带 id 的元素
语法:#,如:div#id
<!-- div#id -->
<div id="id"></div>
2
# 生成带 class 的元素
语法:.,如:div.className
<!-- div.className -->
<div class="className"></div>
2
# 生成带有其他属性的元素
语法:[],多个属性空格分开,如:div[name=jeremyjone value=20]
<!-- div[name=jeremyjone value=20] -->
<div name="jeremyjone" value="20"></div>
2
# 生成标签内容
语法:{},可以生成文本内容,如:div{jeremyjone}
<!-- div{jeremyjone} -->
<div>jeremyjone</div>
2
# 生成多个重复元素
语法:*n,会自动将元素重复n次,如:div.className*2
<!-- div.className*2 -->
<div class="className"></div>
<div class="className"></div>
2
3
# 生成序号
语法:$,序列从1开始,遇到多个自动增加1,如:div.className$、div{$}*3
<!-- div.className$ -->
<div class="className1"></div>
<!-- div{$}*3 -->
<div>1</div>
<div>2</div>
<div>3</div>
2
3
4
5
6
7
# 序号的高级用法
多位数字
多个
$使用可以生成多占位字符的数字,如:div{jeremyjone$$}*20<!-- div{jeremyjone$$}*20 --> <div>jeremyjone01</div> <div>jeremyjone02</div> <div>jeremyjone03</div> <div>jeremyjone04</div> <div>jeremyjone05</div> <div>jeremyjone06</div> <div>jeremyjone07</div> <div>jeremyjone08</div> <div>jeremyjone09</div> <div>jeremyjone10</div> <div>jeremyjone11</div> <div>jeremyjone12</div> ...1
2
3
4
5
6
7
8
9
10
11
12
13
14可以看到个位数字时,会用 0 占位十位部分。
倒序序号
使用
@-跟在$后面即可,如:div{$@-}*3<!-- div{$@-}*3 --> <div>3</div> <div>2</div> <div>1</div>1
2
3
4指定起始序号
使用
@n跟在$后面即可,如:div{$@3}*3<!-- div{$@3}*3 --> <div>3</div> <div>4</div> <div>5</div>1
2
3
4该方法如果是倒叙,则指定的是截止序号,如:
div{$@-3}*3<!-- div{$@-3}*3 --> <div>5</div> <div>4</div> <div>3</div>1
2
3
4
# 生成子节点
语法:>,如:div>span>ul>li*3
<!-- div>span>ul>li*3 -->
<div>
<span>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</span>
</div>
2
3
4
5
6
7
8
9
10
# 生成兄弟节点
语法:+,如:div>span+ul>li*2
<!-- div>span+ul>li*2 -->
<div>
<span></span>
<ul>
<li></li>
<li></li>
</ul>
</div>
2
3
4
5
6
7
8
# 生成父级的兄弟节点
语法:^,它会在当前元素的父级元素之后生成接下来的元素,如:div>span^ul>li
<!-- div>span^ul>li -->
<div>
<span></span>
</div>
<ul>
<li></li>
</ul>
2
3
4
5
6
7
遇到多层元素,还可以使用多个 ^ 来返回更高层级,每一个 ^ 表示返回一层,这在编写多层级多元素时非常高效。如:div>span>div>ul>li*2^^^span>img
<!-- div>span>div>ul>li*2^^^span>img -->
<div>
<span>
<div>
<ul>
<li></li>
<li></li>
</ul>
</div>
</span>
<span>
<img src="" alt="">
</span>
</div>
2
3
4
5
6
7
8
9
10
11
12
13
14
# 分组
语法:(),分组在多级元素中非常有用,如:div>span>(ul>li*3)+img、div>(span>img.className$[alt=imgName$])*3
<!-- div>span>(ul>li*3)+img -->
<div>
<span>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
<img src="" alt="">
</span>
</div>
<!-- div>(span>img.className$[alt=imgName$])*3 -->
<div>
<span>
<img src="" alt="imgName1" class="className1">
</span>
<span>
<img src="" alt="imgName2" class="className2">
</span>
<span>
<img src="" alt="imgName3" class="className3">
</span>
</div>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# CSS 语法
# 属性快速拼写
CSS 语法基本上都是一些常用属性键值的缩写,如:
fwb-font-weight: boldjcc-justify-content: centerpoa-position: absolute
一般来说,取完整属性的每一个单词的头一个字母,如果没有,尝试头两个字母即可。
# 快速赋值
还有一个常用可以跟数字以及单位的变量:
w100-width: 100pxw100%-width: 100%w100vw-width: 100vwm10-margin: 10pxmt10-margin-top: 10pxm10m20m30pm20-margin: 10px 20px 30% 20px
# 对应的单位
p-%e-emx-ex
如:p10p - padding: 10%
# 对应的颜色
#1-#111111#e0-#e0e0e0#fc0-#ffcc00
# !important
! 可以在属性后面添加 !important
pb24!-padding-bottom: 24px !important
# 多属性同时生成
支持多属性快速生成,通过 + 来实现:
p10+m20:padding: 10px; margin: 20px;1
2p!+m10e!:padding: !important; margin: 10em !important;1
2
# 更多
更多内容,可以参考 官网