Emmet的前身是大名鼎鼎的Zen coding,若是你從事Web前端開發的話,對該插件必定不會陌生。它使用仿CSS選擇器的語法來生成代碼,大大提升了HTML/CSS代碼編寫的速度,並且做爲一款插件可以大部分的代碼編輯器,文章後面列出了支持的代碼編輯器類型。請看下面演示:
javascript
1、快速編寫HTML代碼
1. 初始化
HTML文檔須要包含一些固定的標籤,好比<html>、<head>、<body>等,如今你只須要1秒鐘就能夠輸入這些標籤。好比輸入「!」或「html:5」,而後按Tab鍵:
css
2. 輕鬆添加類、id、文本和屬性
連續輸入元素名稱和ID,Emmet會自動爲你補全,好比輸入p#foo:
html
連續輸入類和id,好比p.bar#foo,會自動生成:
前端
下面來看看如何定義HTML元素的內容和屬性。你能夠經過輸入h1{foo}和a[href=#],就能夠自動生成以下代碼:
java
3. 嵌套
如今你只須要1行代碼就能夠實現標籤的嵌套。
web
效果以下圖所示:
json
4. 分組
你能夠經過嵌套和括號來快速生成一些代碼塊,好比輸入(.foo>h1)+(.bar>h2),會自動生成以下代碼:
windows
5. 隱式標籤
聲明一個帶類的標籤,只需輸入div.item,就會生成<div class="item"></div>。
在過去版本中,能夠省略掉div,即輸入.item便可生成<div class="item"></div>。如今若是隻輸入.item,則Emmet會根據父標籤進行斷定。好比在<ul>中輸入.item,就會生成<li class="item"></li>。
app
下面是全部的隱式標籤名稱:
編輯器
6. 定義多個元素
要定義多個元素,能夠使用*符號。好比,ul>li*3能夠生成以下代碼:
7. 定義多個帶屬性的元素
若是輸入 ul>li.item$*3,將會生成以下代碼:
2、CSS縮寫
1. 值
好比要定義元素的寬度,只需輸入w100,便可生成
除了px,也能夠生成其餘單位,好比輸入h10p+m5e,結果以下:
單位別名列表:
2. 附加屬性
可能你以前已經瞭解了一些縮寫,好比 @f,能夠生成:
一些其餘的屬性,好比background-image、border-radius、font、@font-face,text-outline、text-shadow等額外的選項,能夠經過「+」符號來生成,好比輸入@f+,將生成:
3. 模糊匹配
若是有些縮寫你拿不許,Emmet會根據你的輸入內容匹配最接近的語法,好比輸入ov:h、ov-h、ovh和oh,生成的代碼是相同的:
4. 供應商前綴
若是輸入非W3C標準的CSS屬性,Emmet會自動加上供應商前綴,好比輸入trs,則會生成:
你也能夠在任意屬性前加上「-」符號,也能夠爲該屬性加上前綴。好比輸入-super-foo:
若是不但願加上全部前綴,能夠使用縮寫來指定,好比-wm-trf表示只加上-webkit和-moz前綴:
前綴縮寫以下:
5. 漸變
輸入lg(left, #fff 50%, #000),會生成以下代碼:
3、附加功能
生成Lorem ipsum文本
Lorem ipsum指一篇經常使用於排版設計領域的拉丁文文章,主要目的是測試文章或文字在不一樣字型、版型下看起來的效果。經過Emmet,你只需輸入lorem 或 lipsum便可生成這些文字。還能夠指定文字的個數,好比lorem10,將生成:
4、定製
你還能夠定製Emmet插件:
5、針對不一樣編輯器的插件
Emmet支持的編輯器以下(連接爲針對該編輯器的Emmet插件):
語法及標籤縮寫方法以下:
縮寫:nav>ul>li
<nav> <ul> <li></li> </ul> </nav>
縮寫:div+p+bq
<div></div> <p></p> <blockquote></blockquote>
縮寫:div+div>p>span+em^bq
<div></div> <div> <p><span></span><em></em></p> <blockquote></blockquote> </div>
縮寫:div+div>p>span+em^^bq
<div></div> <div> <p><span></span><em></em></p> </div> <blockquote></blockquote>
縮寫: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>
縮寫:(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>
縮寫:ul>li*5
<ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>
縮寫: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>
縮寫:h$[title=item$]{Header $}*3
<h1 title="item1">Header 1</h1> <h2 title="item2">Header 2</h2> <h3 title="item3">Header 3</h3>
縮寫: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>
縮寫: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>
縮寫: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>
縮寫:#header
<div id="header"></div>
縮寫:.title
<div class="title"></div>
縮寫:form#search.wide
<form id="search" class="wide"></form>
縮寫:p.class1.class2.class3
<p class="class1 class2 class3"></p>
縮寫:p[title="Hello world"]
<p title="Hello world"></p>
縮寫:td[rowspan=2 colspan=3 title]
<td rowspan="2" colspan="3" title=""></td>
縮寫:[a='value1' b="value2"]
<div a="value1" b="value2"></div>
縮寫:a{Click me}
<a href="">Click me</a>
縮寫:p>{Click }+a{here}+{ to continue}
<p>Click <a href="">here</a> to continue</p>
縮寫:.class
<div class="class"></div>
縮寫:em>.class
<em><span class="class"></span></em>
縮寫:ul>.class
<ul> <li class="class"></li> </ul>
縮寫:table>.row>.col
<table> <tr class="row"> <td class="col"></td> </tr> </table>
全部未知的縮寫都會轉換成標籤,例如,foo → <foo></foo>
縮寫:!
<!doctype html>
<html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
縮寫:a
<a href=""></a>
縮寫:a:link
<a href="http://"></a>
縮寫:a:mail
<a href="mailto:"></a>
縮寫:abbr
<abbr title=""></abbr>
縮寫:acronym
<acronym title=""></acronym>
縮寫:base
<base href="" />
縮寫:basefont
<basefont />
縮寫:br
<br />
縮寫:frame
<frame />
縮寫:hr
<hr />
縮寫:bdo
<bdo dir=""></bdo>
縮寫:bdo:r
<bdo dir="rtl"></bdo>
縮寫:bdo:l
<bdo dir="ltr"></bdo>
縮寫:col
<col />
縮寫:link
<link rel="stylesheet" href="" />
縮寫:link:css
<link rel="stylesheet" href="style.css" />
縮寫:link:print
<link rel="stylesheet" href="print.css" media="print" />
縮寫:link:favicon
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
縮寫:link:touch
<link rel="apple-touch-icon" href="favicon.png" />
縮寫:link:rss
<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml" />
縮寫:link:atom
<link rel="alternate" type="application/atom+xml" title="Atom" href="atom.xml" />
縮寫:meta
<meta />
縮寫:meta:utf
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
縮寫:meta:win
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />
縮寫:meta:vp
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
縮寫:meta:compat
<meta http-equiv="X-UA-Compatible" content="IE=7" />
縮寫:style
<style></style>
縮寫:script
<script></script>
縮寫:script:src
<script src=""></script>
縮寫:img
<img src="" alt="" />
縮寫:iframe
<iframe src="" frameborder="0"></iframe>
縮寫:embed
<embed src="" type="" />
縮寫:object
<object data="" type=""></object>
縮寫:param
<param name="" value="" />
縮寫:map
<map name=""></map>
縮寫:area
<area shape="" coords="" href="" alt="" />
縮寫:area:d
<area shape="default" href="" alt="" />
縮寫:area:c
<area shape="circle" coords="" href="" alt="" />
縮寫:area:r
<area shape="rect" coords="" href="" alt="" />
縮寫:area:p
<area shape="poly" coords="" href="" alt="" />
縮寫:form
<form action=""></form>
縮寫:form:get
<form action="" method="get"></form>
縮寫:form:post
<form action="" method="post"></form>
縮寫:label
<label for=""></label>
縮寫:input
<input type="text" />
縮寫:inp
<input type="text" name="" id="" />
縮寫:input:hidden
別名:input[type=hidden name]
<input type="hidden" name="" />
縮寫:input:h
別名:input:hidden
<input type="hidden" name="" />
縮寫:input:text, input:t
別名:inp
<input type="text" name="" id="" />
縮寫:input:search
別名:inp[type=search]
<input type="search" name="" id="" />
縮寫:input:email
別名:inp[type=email]
<input type="email" name="" id="" />
縮寫:input:url
別名:inp[type=url]
<input type="url" name="" id="" />
縮寫:input:password
別名:inp[type=password]
<input type="password" name="" id="" />
縮寫:input:p
別名:input:password
<input type="password" name="" id="" />
縮寫:input:datetime
別名:inp[type=datetime]
<input type="datetime" name="" id="" />
縮寫:input:date
別名:inp[type=date]
<input type="date" name="" id="" />
縮寫:input:datetime-local
別名:inp[type=datetime-local]
<input type="datetime-local" name="" id="" />
縮寫:input:month
別名:inp[type=month]
<input type="month" name="" id="" />
縮寫:input:week
別名:inp[type=week]
<input type="week" name="" id="" />
縮寫:input:time
別名:inp[type=time]
<input type="time" name="" id="" />
縮寫:input:number
別名:inp[type=number]
<input type="number" name="" id="" />
縮寫:input:color
別名:inp[type=color]
<input type="color" name="" id="" />
縮寫:input:checkbox
別名:inp[type=checkbox]
<input type="checkbox" name="" id="" />
縮寫:input:c
別名:input:checkbox
<input type="checkbox" name="" id="" />
縮寫:input:radio
別名:inp[type=radio]
<input type="radio" name="" id="" />
縮寫:input:r
別名:input:radio
<input type="radio" name="" id="" />
縮寫:input:range
別名:inp[type=range]
<input type="range" name="" id="" />
縮寫:input:file
別名:inp[type=file]
<input type="file" name="" id="" />
縮寫:input:f
別名:input:file
<input type="file" name="" id="" />
縮寫:input:submit
<input type="submit" value="" />
縮寫:input:s
別名:input:submit
<input type="submit" value="" />
縮寫:input:image
<input type="image" src="" alt="" />
縮寫:input:i
別名:input:image
<input type="image" src="" alt="" />
縮寫:input:button
<input type="button" value="" />
縮寫:input:b
別名:input:button
<input type="button" value="" />
縮寫:isindex
<isindex />
縮寫:input:reset
別名:input:button[type=reset]
<input type="reset" value="" />
縮寫:select
<select name="" id=""></select>
縮寫:option
<option value=""></option>
縮寫:textarea
<textarea name="" id="" cols="30" rows="10"></textarea>
縮寫:menu:context
別名:menu[type=context]>
<menu type="context"></menu>
縮寫:menu:c
別名:menu:context
<menu type="context"></menu>
縮寫:menu:toolbar
別名:menu[type=toolbar]>
<menu type="toolbar"></menu>
縮寫:menu:t
別名:menu:toolbar
<menu type="toolbar"></menu>
縮寫:video
<video src=""></video>
縮寫:audio
<audio src=""></audio>
縮寫:html:xml
<html xmlns="http://www.w3.org/1999/xhtml"></html>
縮寫:keygen
<keygen />
縮寫:command
<command />
縮寫:bq
別名:blockquote
<blockquote></blockquote>
縮寫:acr
別名:acronym
<acronym title=""></acronym>
縮寫:fig
別名:figure
<figure></figure>
縮寫:figc
別名:figcaption
<figcaption></figcaption>
縮寫:ifr
別名:iframe
<iframe src="" frameborder="0"></iframe>
縮寫:emb
別名:embed
<embed src="" type="" />
縮寫:obj
別名:object
<object data="" type=""></object>
縮寫:src
別名:source
<source></source>
縮寫:cap
別名:caption
<caption></caption>
縮寫:colg
別名:colgroup
<colgroup></colgroup>
縮寫:fst, fset
別名:fieldset
<fieldset></fieldset>
縮寫:btn
別名:button
<button></button>
縮寫:btn:b
別名:button[type=button]
<button type="button"></button>
縮寫:btn:r
別名:button[type=reset]
<button type="reset"></button>
縮寫:btn:s
別名:button[type=submit]
<button type="submit"></button>