http://www.iteye.com/news/27580
Emmet的前身是大名鼎鼎的Zen coding沪悲,如果你從事Web前端開發(fā)的話绿映,對(duì)該插件一定不會(huì)陌生丹泉。它使用仿CSS選擇器的語法來生成代碼尉辑,大大提高了HTML/CSS代碼編寫的速度帆精,比如下面的演示:
去年年底,該插件已經(jīng)改名為Emmet。**但Emmet不只改名卓练,還帶來了一些新特性隘蝎。本文就來直觀地演示給你。
** 一襟企、快速編寫HTML代碼
1. 初始化 HTML文檔需要包含一些固定的標(biāo)簽嘱么,比如<html>、<head>顽悼、<body>等曼振,現(xiàn)在你只需要1秒鐘就可以輸入這些標(biāo)簽。比如輸入“!”或“html:5”蔚龙,然后按Tab鍵:
html:5 或!:用于HTML5文檔類型
html:xt:用于XHTML過渡文檔類型
html:4s:用于HTML4嚴(yán)格文檔類型
2. 輕松添加類冰评、id、文本和屬性 連續(xù)輸入元素名稱和ID木羹,Emmet會(huì)自動(dòng)為你補(bǔ)全集索,比如輸入p#foo:
連續(xù)輸入類和id,比如p.bar#foo汇跨,會(huì)自動(dòng)生成: Html代碼
<p class="bar" id="foo"></p>
下面來看看如何定義HTML元素的內(nèi)容和屬性务荆。你可以通過輸入h1{foo}和a[href=#],就可以自動(dòng)生成如下代碼:Html代碼
<h1>foo</h1>
<a href="#"></a>
3. 嵌套 現(xiàn)在你只需要1行代碼就可以實(shí)現(xiàn)標(biāo)簽的嵌套穷遂。 >:子元素符號(hào)函匕,表示嵌套的元素
+:同級(jí)標(biāo)簽符號(hào)
^:可以使該符號(hào)前的標(biāo)簽提升一行
效果如下圖所示:
4. 分組 你可以通過嵌套和括號(hào)來快速生成一些代碼塊,比如輸入(.foo>h1)+(.bar>h2)蚪黑,會(huì)自動(dòng)生成如下代碼: Html代碼
<div class="foo">
<h1></h1>
</div>
<div class="bar">
<h2></h2>
</div>
5. 隱式標(biāo)簽 聲明一個(gè)帶類的標(biāo)簽盅惜,只需輸入div.item,就會(huì)生成<div class="item"></div>忌穿。 在過去版本中抒寂,可以省略掉div,即輸入.item即可生成<div class="item"></div>÷咏#現(xiàn)在如果只輸入.item屈芜,則Emmet會(huì)根據(jù)父標(biāo)簽進(jìn)行判定。比如在<ul>中輸入.item朴译,就會(huì)生成<li class="item"></li>井佑。
下面是所有的隱式標(biāo)簽名稱: li:用于ul和ol中
tr:用于table、tbody眠寿、thead和tfoot中
td:用于tr中
option:用于select和optgroup中
6. 定義多個(gè)元素 要定義多個(gè)元素躬翁,可以使用符號(hào)。比如盯拱,ul>li*3可以生成如下代碼: Html代碼
<ul>
<li></li>
<li></li>
<li></li>
</ul>
7. 定義多個(gè)帶屬性的元素 如果輸入 ul>li.item$*3盒发,將會(huì)生成如下代碼: Html代碼
<ul>
<li class="item1"></li>
<li class="item2"></li>
<li class="item3"></li>
</ul>
二例嘱、CSS縮寫
1. 值 比如要定義元素的寬度,只需輸入w100宁舰,即可生成 Css代碼
width: 100px;
除了px蝶防,也可以生成其他單位,比如輸入h10p+m5e明吩,結(jié)果如下: Css代碼
height: 10%;
margin: 5em;
單位別名列表: p 表示%
e 表示 em
x 表示 ex
2. 附加屬性 可能你之前已經(jīng)了解了一些縮寫间学,比如 @f,可以生成: Css代碼
@font-face {
font-family:;
src:url();
}
一些其他的屬性印荔,比如background-image低葫、border-radius、font仍律、@font-face,text-outline嘿悬、text-shadow等額外的選項(xiàng),可以通過“+”符號(hào)來生成水泉,比如輸入@f+善涨,將生成: Css代碼
@font-face {
font-family: 'FontName';
src: url('FileName.eot');
src: url('FileName.eot?#iefix') format('embedded-opentype'),
url('FileName.woff') format('woff'),
url('FileName.ttf') format('truetype'),
url('FileName.svg#FontName') format('svg');
font-style: normal;
font-weight: normal;
}
3. 模糊匹配 如果有些縮寫你拿不準(zhǔn),Emmet會(huì)根據(jù)你的輸入內(nèi)容匹配最接近的語法草则,比如輸入ov:h钢拧、ov-h、ovh和oh炕横,生成的代碼是相同的: Css代碼
overflow: hidden;
4. 供應(yīng)商前綴 如果輸入非W3C標(biāo)準(zhǔn)的CSS屬性源内,Emmet會(huì)自動(dòng)加上供應(yīng)商前綴,比如輸入trs份殿,則會(huì)生成: Css代碼
-webkit-transform: ;
-moz-transform: ;
-ms-transform: ;
-o-transform: ;
transform: ;
你也可以在任意屬性前加上“-”符號(hào)膜钓,也可以為該屬性加上前綴。比如輸入-super-foo: Css代碼
-webkit-super-foo: ;
-moz-super-foo: ;
-ms-super-foo: ;
-o-super-foo: ;
super-foo: ;
如果不希望加上所有前綴卿嘲,可以使用縮寫來指定颂斜,比如-wm-trf表示只加上-webkit和-moz前綴: Css代碼
-webkit-transform: ;
-moz-transform: ;
transform: ;
前綴縮寫如下: w 表示 -webkit-
m 表示 -moz-
s 表示 -ms-
o 表示 -o-
5. 漸變 輸入lg(left, #fff 50%, #000),會(huì)生成如下代碼: Css代碼
background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(0.5, #fff), to(#000));
background-image: -webkit-linear-gradient(left, #fff 50%, #000);
background-image: -moz-linear-gradient(left, #fff 50%, #000);
background-image: -o-linear-gradient(left, #fff 50%, #000);
background-image: linear-gradient(left, #fff 50%, #000);
三拾枣、附加功能 生成Lorem ipsum文本 Lorem ipsum指一篇常用于排版設(shè)計(jì)領(lǐng)域的拉丁文文章沃疮,主要目的是測試文章或文字在不同字型、版型下看起來的效果放前。通過Emmet忿磅,你只需輸入lorem 或 lipsum即可生成這些文字糯彬。還可以指定文字的個(gè)數(shù)凭语,比如lorem10,將生成: 引用
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero delectus.
四撩扒、定制 你還可以定制Emmet插件: 添加新縮寫或更新現(xiàn)有縮寫似扔,可修改snippets.json文件
更改Emmet過濾器和操作的行為吨些,可修改preferences.json文件
定義如何生成HTML或XML代碼,可修改syntaxProfiles.json文件
五炒辉、針對(duì)不同編輯器的插件 Emmet支持的編輯器如下(鏈接為針對(duì)該編輯器的Emmet插件): Sublime Text 2
TextMate 1.x
Eclipse/Aptana
Coda 1.6 and 2.x
Espresso
Chocolat (通過“Install Mixin”對(duì)話框添加)
Komodo Edit/IDE (通過Tools → Add-ons菜單添加)
Notepad++
PSPad
<textarea>
CodeMirror2/3
Brackets
相關(guān)文檔:http://docs.emmet.io/(其中包含了一個(gè)Demo豪墅,你可以試驗(yàn)文中所提到的這些縮寫)