一、Emmet简介
Emmet的前身是ZenCoding,它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,由两个核心组件组成:一个缩写扩展器(缩写为像CSS一样的选择器)和上下文无关的HTML标签对匹配器。
二、快速编写HTML代码
1.初始化
HTML文档需要包含一些固定的标签,比如html,head,body等,利用Emmet可以1秒钟就可以完成这些标签的输入。
比如:输入“!”或“html:5”,然后按Tab键,就能生成:
!doctypehtmlhtmllang=enheadmetacharset=UTF-8titleDocument/title/headbody/body/htmlhtml:5或!:用于HTML5文档类型;
html:xt:用于XHTML过滤文档类型;
html:4s:用于HTML4严格文档类型。
2.轻松添加类,id,文本和属性
连续输入元素名称和ID,Emmet会自动补全,比如:输入p#foo,就能生成:
1pid=foo/p连续输入类和id,比如:p.bar#foo,会自动生成:
1pclass=barid=foo/p定义元素的内容:
h1{内容}:
1h1内容/h1定义元素的属性:
a[href=#]:
1ahref=#/a3.嵌套
利用Emmet只需一行代码就可以实现标签的嵌套:
:子元素符号,表示嵌套的元素;
+:同级标签符号;
^:可以使用该符号前的标签提升一行。
比如:
pspan:
1pspan/span/ph1+h2:
1h1/h1h2/h2pspan^p:
1pspan/span/pp/p4.分组
利用Emmet可以通过嵌套和括号快速生成一些代码块,比如:输入(.fooh1)+(#barh2),会自动生成:
divclass=fooh1/h1/divdivid=barh2/h2/div5.隐式标签
申明一个带类的标签,只需输入div.item,就会自动生成:
1divclass=item/div在过去版本中,可以省略掉div,即输入.item即可生成divclass=item/div。现在如果只输入.item,则Emmet会根据父标签进行判定。比如在ul中输入.item,就会生成liclass=item/li。
li:用于ul和ol中;
tr:用于table、tbody、thead和tfoot中;
td:用于tr中;
option:用于select和optgroup中。
6.定义多个元素
要定义多个元素,可以使用符号*,比如:ulli*5:
7ulli/lili/lili/lili/lili/li/ul7.定义多个带属性的元素
输入ulli.item$*3,将会自动生成:
ulliclass=item1/liliclass=item2/liliclass=item3/li/ul三、CSS缩写
1.值
比如要定义元素的宽度,只需输入w,即可生成:
1width:px;除了px,还可以生成其他单位,比如输入h10p+m5e,会生成:
12height:10%;margin:5em;单位别名列表:
p:表示%;
e:表示em;
x:表示ex。
2.模糊匹配
如果有些缩写在写的时候拿捏不准,Emmet会根据输入的内容匹配最接近的语法,比如输入ov:h、ov-h、ovh和oh都会生成:
1overflow:hidden;3.供应商前缀
如果输入非W3C标准的CSS属性,Emmet会自动加上供应商前缀,比如输入trs,则会生成:
-webkit-transition:proptime;-moz-transition:proptime;-ms-transition:proptime;-o-transition:proptime;transition:proptime;如果不希望加上所有前缀,也可以使用缩写来指定,比如输入:-wm-trf,表示只加上-webkit和-moz前缀:
-webkit-transform:;-moz-transform:;transform:;前缀说些如下:
w:表示-webkit-;
m:表示-moz-;
s:表示-ms-;
o:表示-o-。
4.渐变(webStorm不支持)
输入lg(left,#fff50%,#),会自动生成:
background-image:-webkit-gradient(linear,00,%0,color-stop(0.5,#fff),to(#));background-image:-webkit-linear-gradient(left,#fff50%,#);background-image:-moz-linear-gradient(left,#fff50%,#);background-image:-o-linear-gradient(left,#fff50%,#);background-image:linear-gradient(left,#fff50%,#);四、针对不同编辑器的插件
Emmet支持如下编辑器:
1.SublimeText2;
2.TextMate1.X;
3.Eclipse/Aptana;
4.Coda1.6and2.x;
5.Espresso;
6.Chocolat(通过“InstallMixin”对话框添加);
7.KomodoEdit/IDE(通过Tools→Add-ons菜单添加);
8.Notepad++;
9.PSPad;
10.textarea;
11.CodeMirror2/3;
12.Brackets;
13.WebStorm;
内容来自网络