一、Emmet的安装与介绍
Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的工具,能够实现 HTML、CSS 的快速编写。


- 官网地址:http://emmet.io/
- 官方文档:http://docs.emmet.io/cheat-sheet/
- Atom的emmet介绍页面:https://atom.io/packages/emmet
1-1. 使用Emmet的好处
- 通常大多数的文本编辑器都会允许我们存储和重用一些代码块,我们称之为“片段”。虽然片段能很好地推动我们的生产力,但大多数的实现都有这样一个缺点:我们必须先定义代码片段,并且不能再运行时进行拓展。
- 而 Emmet 把片段这个概念提高到了一个新的层次:我们可以设置 CSS 形式的能够动态被解析的表达式,然后根据输入的缩写来得到相应的内容。Emmet 很成熟的并且非常适用于编写 HTML/XML 和 CSS 代码的前端开发人员,但也可以用于编程语言。
1-2. 安装Emmet
Emmet 为大部分流行的编辑器都提供了安装插件,尤其是Adobe Dreamweaver早在2015版中就全面兼容Emmet语法,只要用tab键就能展开,非常好用。
如果你要在 Atom 中使用 Emmet 插件,可按下面方法部署:
(2)进入到 Install 页面。
(3)搜索“Emmet”包,点击 Install 按钮即可安装。

1-3. 简单的使用样例
(1)我们在编辑器中输入如下代码:
ul>li*6
接着按下 tab 键,之前的缩写代码就会自动扩展为完整的 html 代码片断。

以及下面的动画
二、基本语法
2-1. 后代:>
缩写↓
nav>ul>li
展开输出↓
<nav> <ul> <li></li> </ul></nav>2-2. 兄弟:+
缩写↓
div+p+bq
展开输出↓
<div></div><p></p><blockquote></blockquote>2-3. 上级:^
(1)缩写↓
div+div>p>span+em^bq
展开输出↓
<div></div><div> <p><span></span><em></em></p> <blockquote></blockquote></div>(2)缩写↓
div+div>p>span+em^^bq
展开输出↓
<div></div><div> <p><span></span><em></em></p></div><blockquote></blockquote>2-4. 分组:()
(1)缩写↓
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>(2)缩写↓
(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>2-5. 乘法:*
缩写↓
ul>li*5
展开输出↓
<ul> <li></li> <li></li> <li></li> <li></li> <li></li><ul>2-6.自增符号:$
(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>(2)缩写↓
h$[title=item$]{Header $}*3
展开输出↓
<h1 title="item1">Header 1</h1><h2 title="item2">Header 2</h2><h3 title="item3">Header 3</h3>(3)缩写↓
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>(4)缩写↓
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>(5)缩写↓
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>2-7.ID和类属性
(1)缩写↓
#header
展开输出↓
<div id="header"></div>(2)缩写↓
.title
展开输出↓
<div class="title"></div>(3)缩写↓
form#search.wide
展开输出↓
<form id="search" class="wide"></form>(4)缩写↓
p.class1.class2.class3
展开输出↓
<p class="class1 class2 class3"></p>2-8.自定义属性
(1)缩写↓
p[title="Hello world"]
展开输出↓
<p title="Hello world"></p>(2)缩写↓
td[rowspan=2 colspan=3 title]
展开输出↓
<td rowspan="2" colspan="3" title=""></td>(3)缩写↓
[a='value1' b="value2"]
展开输出↓
<div a="value1" b="value2"></div>2-9.文本:{}
(1)缩写↓
a{Click me}
展开输出↓
<a href="">Click me</a>(2)缩写↓
p>{Click }+a{here}+{ to continue}
展开输出↓
<p>Click <a href="">here</a> to continue</p>2-10.隐式标签
(1)缩写↓
.class
展开输出↓
<div class="class"></div>(2)缩写↓
em>.class
展开输出↓
<em><span class="class"></span></em>(3)缩写↓
ul>.class
展开输出↓
<ul> <li class="class"></li></ul>(4)缩写↓
table>.row>.col
展开输出↓
<table> <tr class="row"> <td class="col"></td> </tr></table>三、HTML标签语法
3-1. 所有未知的缩写都会转换成标签
缩写↓
hangge
展开输出↓
<hangge></hangge>3-2.基本html标签
(1)缩写↓
!
展开输出↓
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title></head><body> </body></html>(2)缩写↓
a
展开输出↓
<a href=""></a>(3)缩写↓
a:link
展开输出↓
(4)缩写↓
a:mail
展开输出↓
<a href="mailto:"></a>(5)缩写↓
abbr
展开输出↓
<abbr title=""></abbr>(6)缩写↓
acronym
展开输出↓
<acronym title=""></acronym>(7)缩写↓
base
展开输出↓
<base href="" />(8)缩写↓
basefont
展开输出↓
<basefont />(9)缩写↓
br
展开输出↓
<br />(10)缩写↓
frame
展开输出↓
<frame />(11)缩写↓
hr
展开输出↓
<hr />(12)缩写↓
bdo
展开输出↓
<bdo dir=""></bdo>(13)缩写↓
bdo:r
展开输出↓
<bdo dir="rtl"></bdo>(14)缩写↓
bdo:l
展开输出↓
<bdo dir="ltr"></bdo>(15)缩写↓
col
展开输出↓
<col />(16)缩写↓
link
展开输出↓
<link rel="stylesheet" href="" />(17)缩写↓
link:css
展开输出↓
<link rel="stylesheet" href="style.css" />(18)缩写↓
link:print
展开输出↓
<link rel="stylesheet" href="print.css" media="print" />(19)缩写↓
link:favicon
展开输出↓
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />(20)缩写↓
link:touch
展开输出↓
<link rel="apple-touch-icon" href="favicon.png" />(21)缩写↓
link:rss
展开输出↓
<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml" />(22)缩写↓
link:atom
展开输出↓
<link rel="alternate" type="application/atom+xml" title="Atom" href="atom.xml" />(23)缩写↓
meta
展开输出↓
<meta />(24)缩写↓
meta:utf
展开输出↓
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />(25)缩写↓
meta:win
展开输出↓
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />(26)缩写↓
meta:vp
展开输出↓
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />(27)缩写↓
meta:compat
展开输出↓
<meta http-equiv="X-UA-Compatible" content="IE=7" />(28)缩写↓
style
展开输出↓
<style></style>(29)缩写↓
script
展开输出↓
<script></script>(30)缩写↓
script:src
展开输出↓
<script src=""></script>(31)缩写↓
img
展开输出↓
<img src="" alt="" />(32)缩写↓
iframe
展开输出↓
<iframe src="" frameborder="0"></iframe>(33)缩写↓
embed
展开输出↓
<embed src="" type="" />(34)缩写↓
object
展开输出↓
<object data="" type=""></object>(35)缩写↓
param
展开输出↓
<param name="" value="" />(36)缩写↓
map
展开输出↓
<map name=""></map>(37)缩写↓
area
展开输出↓
<area shape="" coords="" href="" alt="" />(38)缩写↓
area:d
展开输出↓
<area shape="default" href="" alt="" />(39)缩写↓
area:c
展开输出↓
<area shape="circle" coords="" href="" alt="" />(40)缩写↓
area:r
展开输出↓
<area shape="rect" coords="" href="" alt="" />(41)缩写↓
area:p
展开输出↓
<area shape="poly" coords="" href="" alt="" />(42)缩写↓
form
展开输出↓
<form action=""></form>(43)缩写↓
form:get
展开输出↓
<form action="" method="get"></form>(44)缩写↓
form:post
展开输出↓
<form action="" method="post"></form>(45)缩写↓
label
展开输出↓
<label for=""></label>(46)缩写↓
input
展开输出↓
<input type="text" />(47)缩写↓
inp
展开输出↓
<input type="text" name="" id="" />(48)缩写↓
input:hidden
展开输出↓
<input type="hidden" name="" />(49)缩写↓
input:h
展开输出↓
<input type="hidden" name="" />(50)缩写↓
input:text, input:t
展开输出↓
<input type="text" name="" id="" />(51)缩写↓
input:search
展开输出↓
<input type="search" name="" id="" />(52)缩写↓
input:email
展开输出↓
<input type="email" name="" id="" />(53)缩写↓
input:url
展开输出↓
<input type="text" name="" id="" />(54)缩写↓
input:password
展开输出↓
<input type="url" name="" id="" />(55)缩写↓
input:p
展开输出↓
<input type="password" name="" id="" />(56)缩写↓
input:datetime
展开输出↓
<input type="datetime" name="" id="" />(57)缩写↓
input:date
展开输出↓
<input type="date" name="" id="" />(58)缩写↓
input:datetime-local
展开输出↓
<input type="datetime-local" name="" id="" />(59)缩写↓
input:month
展开输出↓
<input type="month" name="" id="" />(60)缩写↓
input:week
展开输出↓
<input type="week" name="" id="" />(61)缩写↓
input:time
展开输出↓
<input type="time" name="" id="" />(62)缩写↓
input:number
展开输出↓
<input type="number" name="" id="" />(63)缩写↓
input:color
展开输出↓
<input type="color" name="" id="" />(64)缩写↓
input:checkbox
展开输出↓
<input type="checkbox" name="" id="" />(65)缩写↓
input:c
展开输出↓
<input type="checkbox" name="" id="" />(66)缩写↓
input:radio
展开输出↓
<input type="radio" name="" id="" />(67)缩写↓
input:r
展开输出↓
<input type="radio" name="" id="" />(68)缩写↓
input:range
展开输出↓
<input type="range" name="" id="" />(69)缩写↓
input:file
展开输出↓
<input type="file" name="" id="" />(70)缩写↓
input:f
展开输出↓
<input type="file" name="" id="" />(71)缩写↓
input:submit
展开输出↓
<input type="submit" value="" />(72)缩写↓
input:s
展开输出↓
<input type="submit" value="" />(73)缩写↓
input:image
展开输出↓
<input type="image" src="" alt="" />(74)缩写↓
input:i
展开输出↓
<input type="image" src="" alt="" />(75)缩写↓
input:button
展开输出↓
<input type="button" value="" />(76)缩写↓
input:b
展开输出↓
<input type="button" value="" />(77)缩写↓
isindex
展开输出↓
<isindex />(78)缩写↓
input:reset
展开输出↓
<input type="reset" value="" />(79)缩写↓
select
展开输出↓
<select name="" id=""></select>(80)缩写↓
option
展开输出↓
<option value=""></option>(81)缩写↓
textarea
展开输出↓
<textarea name="" id="" cols="30" rows="10"></textarea>(82)缩写↓
menu:context
展开输出↓
<menu type="context"></menu>(83)缩写↓
menu:c
展开输出↓
<menu type="context"></menu>(84)缩写↓
menu:toolbar
展开输出↓
<menu type="toolbar"></menu>(85)缩写↓
menu:t
展开输出↓
<menu type="toolbar"></menu>(86)缩写↓
video
展开输出↓
<video src=""></video>(87)缩写↓
audio
展开输出↓
<audio src=""></audio>(88)缩写↓
html:xml
展开输出↓
(89)缩写↓
keygen
展开输出↓
<keygen />(90)缩写↓
command
展开输出↓
<command />(91)缩写↓
bq
展开输出↓
<blockquote></blockquote>(92)缩写↓
acr
展开输出↓
<acronym title=""></acronym>(93)缩写↓
fig
展开输出↓
<figure></figure>(94)缩写↓
figc
展开输出↓
<figcaption></figcaption>(95)缩写↓
ifr
展开输出↓
<iframe src="" frameborder="0"></iframe>(96)缩写↓
emb
展开输出↓
<embed src="" type="" />(97)缩写↓
obj
展开输出↓
<object data="" type=""></object>(98)缩写↓
src
展开输出↓
<source></source>(99)缩写↓
cap
展开输出↓
<caption></caption>(100)缩写↓
colg
展开输出↓
<colgroup></colgroup>(101)缩写↓
input:text, input:t
展开输出↓
<input type="text" name="" id="" />(102)缩写↓
input:text, input:t
展开输出↓
<input type="text" name="" id="" />(103)缩写↓
btn:r
展开输出↓
<button type="reset"></button>(104)缩写↓
btn:s
展开输出↓
<button type="submit"></button>四、CSS
4-1. CSS模块使用模糊搜索来查找未知的缩写
如: == ov-h == ovh == oh
如果没有找到缩写,则转换为属性名称:foo-bar → foo-bar: |;
您可以使用连字符作为前缀缩写以生成供应商的前缀属性: -foo
4-2. 常用样式简写
(1)缩写↓
pos
展开输出↓
(2)缩写↓
t
展开输出↓
五、XSL
(1)缩写↓
xsl
展开输出↓
Alias of !!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{ |}
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></xsl:stylesheet>(2)缩写↓
var
展开输出↓