EmmetHTMLCSS代码快速编写技巧

一、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/html

html: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=#/a

3.嵌套

利用Emmet只需一行代码就可以实现标签的嵌套:

:子元素符号,表示嵌套的元素;

+:同级标签符号;

^:可以使用该符号前的标签提升一行。

比如:

pspan:

1pspan/span/p

h1+h2:

1h1/h1h2/h2

pspan^p:

1pspan/span/pp/p

4.分组

利用Emmet可以通过嵌套和括号快速生成一些代码块,比如:输入(.fooh1)+(#barh2),会自动生成:

divclass=fooh1/h1/divdivid=barh2/h2/div

5.隐式标签

申明一个带类的标签,只需输入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/ul

7.定义多个带属性的元素

输入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;

内容来自网络




转载请注明:http://www.aierlanlan.com/rzdk/340.html