Emmet:HTML/CSS代碼快速編寫神器

Emmet:HTML/CSS代碼快速編寫神器


Emmet的前身是大名鼎鼎的Zen coding,如果你從事Web前端開發(fā)的話,對該插件一定不會陌生详民。它使用仿CSS選擇器的語法來生成代碼吁伺,大大提高了HTML/CSS代碼編寫的速度,比如下面的演示:?

Zen coding下的編碼演示

去年年底欺矫,該插件已經(jīng)改名為Emmet纱新。但Emmet不只改名,還帶來了一些新特性穆趴。本文就來直觀地演示給你脸爱。?

一、快速編寫HTML代碼?

1.? 初始化?

HTML文檔需要包含一些固定的標簽未妹,比如<html>簿废、<head>、<body>等络它,現(xiàn)在你只需要1秒鐘就可以輸入這些標簽族檬。比如輸入“!”或“html:5”,然后按Tab鍵:?

html:5 或!:用于HTML5文檔類型

html:xt:用于XHTML過渡文檔類型

html:4s:用于HTML4嚴格文檔類型

2.? 輕松添加類化戳、id单料、文本和屬性?

連續(xù)輸入元素名稱和ID,Emmet會自動為你補全迂烁,比如輸入p#foo:?

連續(xù)輸入類和id看尼,比如p.bar#foo,會自動生成:?

Html代碼?

<pclass="bar"id="foo"></p>

下面來看看如何定義HTML元素的內(nèi)容和屬性盟步。你可以通過輸入h1{foo}和a[href=#]藏斩,就可以自動生成如下代碼:

Html代碼?

<h1>foo</h1>

<ahref="#"></a>

3.? 嵌套?

現(xiàn)在你只需要1行代碼就可以實現(xiàn)標簽的嵌套。?

>:子元素符號却盘,表示嵌套的元素

+:同級標簽符號

^:可以使該符號前的標簽提升一行

效果如下圖所示:?

4.? 分組?

你可以通過嵌套和括號來快速生成一些代碼塊狰域,比如輸入(.foo>h1)+(.bar>h2)媳拴,會自動生成如下代碼:?

Html代碼?

<divclass="foo">

<h1></h1>

</div>

<divclass="bar">

<h2></h2>

</div>

5.? 隱式標簽?

聲明一個帶類的標簽,只需輸入div.item兆览,就會生成<div class="item"></div>屈溉。?

在過去版本中,可以省略掉div抬探,即輸入.item即可生成<div class="item"></div>∽咏恚現(xiàn)在如果只輸入.item,則Emmet會根據(jù)父標簽進行判定小压。比如在<ul>中輸入.item线梗,就會生成<li class="item"></li>。?

下面是所有的隱式標簽名稱:?

li:用于ul和ol中

tr:用于table怠益、tbody仪搔、thead和tfoot中

td:用于tr中

option:用于select和optgroup中

6.? 定義多個元素?

要定義多個元素,可以使用*符號蜻牢。比如烤咧,ul>li*3可以生成如下代碼:?

Html代碼?

<ul>

<li></li>

<li></li>

<li></li>

</ul>

7.? 定義多個帶屬性的元素?

如果輸入 ul>li.item$*3,將會生成如下代碼:?

Html代碼?

<ul>

<liclass="item1"></li>

<liclass="item2"></li>

<liclass="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等額外的選項闯捎,可以通過“+”符號來生成,比如輸入@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.? 模糊匹配?

如果有些縮寫你拿不準瓤鼻,Emmet會根據(jù)你的輸入內(nèi)容匹配最接近的語法,比如輸入ov:h贤重、ov-h茬祷、ovh和oh,生成的代碼是相同的:?

Css代碼?

overflow:?hidden;??

4.? 供應(yīng)商前綴?

如果輸入非W3C標準的CSS屬性并蝗,Emmet會自動加上供應(yīng)商前綴祭犯,比如輸入trs秸妥,則會生成:?

Css代碼?

-webkit-transform:?;??

-moz-transform:?;??

-ms-transform:?;??

-o-transform:?;??

transform:?;??

你也可以在任意屬性前加上“-”符號,也可以為該屬性加上前綴沃粗。比如輸入-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)最盅,會生成如下代碼:?

Css代碼?

background-image:?-webkit-gradient(linear,00,100%0,?color-stop(0.5,?#fff),?to(#000));

background-image:?-webkit-linear-gradient(left,?#fff50%,?#000);

background-image:?-moz-linear-gradient(left,?#fff50%,?#000);

background-image:?-o-linear-gradient(left,?#fff50%,?#000);

background-image:?linear-gradient(left,?#fff50%,?#000);

三突雪、附加功能?

生成Lorem ipsum文本?

Lorem ipsum指一篇常用于排版設(shè)計領(lǐng)域的拉丁文文章,主要目的是測試文章或文字在不同字型涡贱、版型下看起來的效果挂签。通過Emmet,你只需輸入lorem 或 lipsum即可生成這些文字盼产。還可以指定文字的個數(shù),比如lorem10勺馆,將生成:?

引用

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero delectus.

四戏售、定制?

你還可以定制Emmet插件:?

添加新縮寫或更新現(xiàn)有縮寫,可修改snippets.json文件

更改Emmet過濾器和操作的行為草穆,可修改preferences.json文件

定義如何生成HTML或XML代碼灌灾,可修改syntaxProfiles.json文件

五、針對不同編輯器的插件?

Emmet支持的編輯器如下(鏈接為針對該編輯器的Emmet插件):?

Sublime Text 2

TextMate 1.x

Eclipse/Aptana

Coda 1.6 and 2.x

Espresso

Chocolat(通過“Install Mixin”對話框添加)

Komodo Edit/IDE(通過Tools → Add-ons菜單添加)

Notepad++

PSPad

<textarea>

CodeMirror2/3

Brackets

相關(guān)文檔:http://docs.emmet.io/(其中包含了一個Demo悲柱,你可以試驗文中所提到的這些縮寫)?

網(wǎng)址:http://www.iteye.com/news/27580?;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锋喜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子豌鸡,更是在濱河造成了極大的恐慌嘿般,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涯冠,死亡現(xiàn)場離奇詭異炉奴,居然都是意外死亡,警方通過查閱死者的電腦和手機蛇更,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門瞻赶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人派任,你說我怎么就攤上這事砸逊。” “怎么了掌逛?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵师逸,是天一觀的道長。 經(jīng)常有香客問我颤诀,道長字旭,這世上最難降的妖魔是什么对湃? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮遗淳,結(jié)果婚禮上拍柒,老公的妹妹穿的比我還像新娘。我一直安慰自己屈暗,他們只是感情好拆讯,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著养叛,像睡著了一般种呐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弃甥,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天爽室,我揣著相機與錄音,去河邊找鬼淆攻。 笑死阔墩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的瓶珊。 我是一名探鬼主播啸箫,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伞芹!你這毒婦竟也來了忘苛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤唱较,失蹤者是張志新(化名)和其女友劉穎扎唾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體南缓,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡稽屏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了西乖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狐榔。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖获雕,靈堂內(nèi)的尸體忽然破棺而出薄腻,到底是詐尸還是另有隱情,我是刑警寧澤届案,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布庵楷,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏尽纽。R本人自食惡果不足惜咐蚯,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弄贿。 院中可真熱鬧春锋,春花似錦、人聲如沸差凹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽危尿。三九已至呐萌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谊娇,已是汗流浹背肺孤。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留济欢,地道東北人渠旁。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像船逮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子粤铭,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Emmet的前身是大名鼎鼎的Zen coding挖胃,如果你從事Web前端開發(fā)的話,對該插件一定不會陌生梆惯。它使用仿CS...
    清風沐沐閱讀 1,379評論 2 5
  • http://www.iteye.com/news/27580Emmet的前身是大名鼎鼎的Zen coding酱鸭,如...
    冰J冰閱讀 3,143評論 0 6
  • 一、快速編寫HTML代碼 1. 初始化 HTML文檔需要包含一些固定的標簽垛吗,比如凹髓、、等怯屉,現(xiàn)在你只需要1秒鐘就可以輸...
    aymincoder閱讀 1,940評論 0 4
  • 1蔚舀、垂直對齊 如果你用CSS,則你會有困惑:我該怎么垂直對齊容器中的元素锨络?現(xiàn)在赌躺,利用CSS3的Transform,...
    kiddings閱讀 3,166評論 0 11
  • 古時候有一個叫陳堯咨的人羡儿,射箭非常厲害礼患。經(jīng)常夸獎自己說:“哈哈哈,我射箭的本領(lǐng)天下第一缅叠,沒有人比我更厲害悄泥。” 有一...
    闊西頓青年閱讀 553評論 0 0