Emmet-前端開發(fā)神器

Emmet是一款編輯器插件茂翔,支持多種編輯器支持驰吓。在前端開發(fā)中涧尿,Emmet 使用縮寫語法快速編寫 HTML、CSS 以及實現(xiàn)其他的功能檬贰,極大的提高前端開發(fā)效率姑廉。

下載地址http://emmet.io/download/

縮寫

Emmet使用特殊的表達式Abbreviations,也就是縮寫:這種特殊的表達式會被Emmet解析并轉義成結構化的代碼塊翁涤。Emmet使用類似CSS選擇器的語法來描述元素在DOM樹節(jié)點的位置和屬性桥言。

例如

#page>div.logo+ul#navigation>li*5>a{Item $}

會被轉義成

<div id="page">
    <div class="logo"></div>
    <ul id="navigation">
        <li><a href="">Item 1</a></li>
        <li><a href="">Item 2</a></li>
        <li><a href="">Item 3</a></li>
        <li><a href="">Item 4</a></li>
        <li><a href="">Item 5</a></li>
    </ul>
</div>

HTML元素

在Emmet中可以使用元素名例如 divp 生成HTML標簽。Emmet沒有預設任何標簽名葵礼,所以可以使用任何可用名稱來生成HTML標簽:div → <div></div>foo → <foo></foo>

嵌套操作符

嵌套操作用來生成元素的DOM樹中的兄弟節(jié)點或子節(jié)點

child:>

使用 > 生成元素子節(jié)點

    div>ul>li

會被轉義成

<div>
    <ul>
        <li></li>
    </ul>
</div>

Sibling: +

使用 ** + ** 生成元素兄弟節(jié)點

div+p+bq

會被轉義成

<div></div>
<p></p>
<blockquote></blockquote>

Climb-up: ^

使用** ^ **在元素父節(jié)點生成新的元素節(jié)點

操作符** ^ 的作用和 > **剛好相反

用** > **可以在子級生成新的節(jié)點

div+div>p>span+em 

會被轉義成

<div></div>
<div>
    <p><span></span><em></em></p>
</div>

用** ^ **可以在父級生成新的節(jié)點

div+div>p>span+em^bq

會被轉義成

<div></div>
<div>
    <p><span></span><em></em></p>
    <blockquote></blockquote>
</div>

用n個** ^ **号阿,就可以在第n父級生成新的節(jié)點

div+div>p>span+em^^^bq

會被轉義成

<div></div>
<div>
    <p><span></span><em></em></p>
</div>
<blockquote></blockquote>

**Multiplication: * **

使用** * **生成多個相同元素

ul>li*5

會被轉義成

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

Grouping: ()

圓括號** () **是Emmet的高級用法,用來實現(xiàn)比較復雜的DOM結構

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>

屬性操作符

屬性操作符用來修改元素的屬性

ID 和 CLASS

Emmet給元素添加ID和CLASS的方法和CSS的語法類似

div#header+div.page+div#footer.class1.class2.class3

會被轉義為

<div id="header"></div>
<div class="page"></div>
<div id="footer" class="class1 class2 class3"></div>

自定義屬性

使用[attr]標記來添加自定義屬性

td[title="Hello world!" colspan=3]

會被轉義為

<td title="Hello world!" colspan="3"></td>

元素編號

使用** $ **操作符可以對重復元素進行有序編號

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>

還可以用多個** $ **定義編號的格式

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>

在** $ 后面添加 @N **可以改變編號基數(shù)

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>

還可以組合使用上面的修飾符

ul>li.item$@-3*5

會被轉義為

<ul>
    <li class="item7"></li>
    <li class="item6"></li>
    <li class="item5"></li>
    <li class="item4"></li>
    <li class="item3"></li>
</ul>

文本操作符

Emmet使用** Text:{} **給元素添加文本內(nèi)容

a{Click me}

會被轉義為

<a href="">Click me</a>

注意: {text} 在Emmet中是被當成單獨的元素來解析的鸳粉,但當和其他元素結合使用時會有特殊的含義

例如:
** a{click} ** 和** a>{click **
會輸出相同的結果扔涧,但
** a{click}+b{here} a>{click}+b{here} **
輸出的結果則不一樣

<!-- a{click}+b{here} -->
<a href="">click</a><b>here</b>

<!-- a>{click}+b{here} -->
<a href="">click<b>here</b></a>

在** a>{click}+b{here} 中,<b> 元素是<a>元素的子節(jié)點届谈。這個就是區(qū)別:當 {text} **直接寫在元素后面時枯夜,并不會改變父元素的上下文。

下面是一個更復雜的案例:

p>{Click }+a{here}+{ to continue}

會被轉義為

<p>Click <a href="">here</a> to continue</p>

p{Click }+a{here}+{ to continue}

則會被轉義為

<p>Click </p>
<a href="">here</a> to continue
`
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末艰山,一起剝皮案震驚了整個濱河市湖雹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌曙搬,老刑警劉巖摔吏,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纵装,居然都是意外死亡舔腾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門搂擦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哗脖,你說我怎么就攤上這事瀑踢。” “怎么了才避?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵橱夭,是天一觀的道長。 經(jīng)常有香客問我桑逝,道長棘劣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任楞遏,我火速辦了婚禮茬暇,結果婚禮上首昔,老公的妹妹穿的比我還像新娘。我一直安慰自己糙俗,他們只是感情好勒奇,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巧骚,像睡著了一般赊颠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上劈彪,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天竣蹦,我揣著相機與錄音,去河邊找鬼沧奴。 笑死痘括,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的扼仲。 我是一名探鬼主播远寸,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屠凶!你這毒婦竟也來了驰后?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤矗愧,失蹤者是張志新(化名)和其女友劉穎灶芝,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體唉韭,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡夜涕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了属愤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片女器。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖住诸,靈堂內(nèi)的尸體忽然破棺而出驾胆,到底是詐尸還是另有隱情,我是刑警寧澤贱呐,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布丧诺,位于F島的核電站,受9級特大地震影響奄薇,放射性物質發(fā)生泄漏驳阎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呵晚。 院中可真熱鬧蜘腌,春花似錦、人聲如沸劣纲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽癞季。三九已至劫瞳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绷柒,已是汗流浹背志于。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留废睦,地道東北人伺绽。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像嗜湃,于是被迫代替她去往敵國和親奈应。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

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

  • 縮寫語法 Emmet 使用類似于 CSS 選擇器的語法描述元素在生成的文檔樹中的位置及其屬性购披。 元素 可以使用元素...
    白水螺絲閱讀 196評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理杖挣,服務發(fā)現(xiàn),斷路器刚陡,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 線程是操作系統(tǒng)中獨立的個體惩妇,但這些個體如果不經(jīng)過特殊的處理就不能成為一個整體。線程間的通信就是成為整體的必用方案之...
    小人物灌籃閱讀 328評論 0 2
  • 隨著職場競爭壓力越來越大氓皱,越來越多的公司要求員工加班,相信大多數(shù)職場人士不太喜歡加班勃刨,大部分是奔著高額的加班費加班...
    職場飛科閱讀 263評論 0 0
  • 文/滿庭蝴蝶兒 我想慢慢的畫一幅畫 顏色淺淺的涂 一層層的 明亮厚實起來 這才是工筆的感覺 華滋豐潤的感覺 我想慢...
    滿庭蝴蝶兒_09閱讀 569評論 8 16