Emmet 是高效、快速編寫 HTML 和 CSS 代碼的一種插件,若是還不瞭解,請戳Emmet — the essential toolkit for web-developers,再根據你使用的編輯器(Sublime 或 vim 等)下載對應的 Emmet 插件,Visual Code直接支持Emmet語法。html
編輯器使用Visual Code,下載地址訪問https://code.visualstudio.com/,新建一個HTML文件,並保存。web
HTML 文檔的初始結構,就是包括 doctype、html、head、body 以及 meta 等內容。你只須要輸入一個 「!」 就能夠生成一個 HTML5 的標準文檔初始結構,你沒有看錯,輸入一個感嘆號(固然是英文符號),而後按 「Tab」 鍵便會生成代碼,就會發現生成了下面的結構:vim
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
這就是一個 HTML5 的標準結構,也是默認的 HTML 結構。若是你想生成 HTML4 的過渡型結構,那麼輸入指令 html:xt,而後按 「Tab」 鍵, 便可生成以下結構:編輯器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> </head> <body> </body> </html>
Emmet 會自動把 doctype 給你補全了,怎麼樣,這樣的功能會不會讓你動心?簡單總結一下經常使用的 HTML 結構指令:ui
例如輸入 p 按 tab 則 生成:<p></p>spa
例如輸入 div#header.section 則生成插件
<div id="header" class="section"></div>
例如輸入p>span 則生成 code
<p><span></span></p>
+
例如輸入p+div 則生成xml
<p></p><div></div>
例如輸入ul>li>a^div 則生成htm
<ul> <li><a href=""></a></li> <div></div> </ul>
也能夠使用多個 ^,例如輸入ul>li>a^^div 則生成
<ul> <li><a href=""></a></li> </ul> <div></div>
例如輸入ul>li*5 則生成
<ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>
例如輸入ul>(li>a)*5 則生成
<ul> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=""></a></li> </ul>
注意和ul>li>a*5 生成是不同的
<ul> <li> <a href=""></a> <a href=""></a> <a href=""></a> <a href=""></a> <a href=""></a> </li> </ul>
例如輸入img[http://www.cnblogs.com/images/logo_small.gif][alt=www.cnblogs.com] 則生成
<img src="http://www.cnblogs.com/images/logo_small.gif" alt="www.cnblogs.com" />
例如輸入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>
例如輸入ul>li.item$@10*5 則生成
<ul> <li class="item10"></li> <li class="item11"></li> <li class="item12"></li> <li class="item13"></li> <li class="item14"></li> </ul>
例如輸入ul>li.item$@-10*5 則生成
<ul> <li class="item14"></li> <li class="item13"></li> <li class="item12"></li> <li class="item11"></li> <li class="item10"></li> </ul>
例如輸入p{我是文字內容} 則生成
<p>我是文字內容</p>
聲明一個帶class的div 能夠不用輸入div;.header+.footer 則生成:
<div class="header"></div> <div class="footer"></div>
Emmet 還會根據父標籤進行斷定例如輸入ul>.item*3 則生成:
<ul> <li class="item"></li> <li class="item"></li> <li class="item"></li> </ul>
下面是全部的隱式標籤名稱: