emmet的用法

emmet 是一個提升前端開發效率的一個工具。
emmet容許在html、xml、和css等文檔中輸入縮寫,而後按tab鍵自動展開爲完整的代碼片斷。css

1、Sublime Text 3 安裝插件Emmet
點擊菜單欄的首選項
->Package Control
-> 在彈出命令行中輸入ip,在列表中點擊「install Package」
-> 彈出命令行輸入框,輸入「emmet」進行安裝html

本人安裝完後提示
Error while loading PyV8 binary:exit code 4
Try to manually install PyV8 from
https://github.com/emmetio/pyv8-binaries
解決方法:
按提示打開https://github.com/emmetio/pyv8-binaries,選擇本身版本下載pyv8,本人下載pyv8-win64-p3.zip。
點擊Sublime Text 3菜單欄的首選項->瀏覽插件目錄,打開Packages目錄,再切換到上一層Installed Packages目錄,
新建目錄PyV8,把pyv8-win64-p3.zip解壓後的文件放進去,重啓ST編輯器。前端

2、emmet的用法
emmet插件的官方文檔: https://docs.emmet.io/abbreviations/syntax/git

新建一個html文件
一、元素
可使用元素的名稱(如DIV或P)生成HTML標記。
如輸入div按tabl鍵後,自動生成<div></div>。
若是輸入!,則自動生成一個HTML5基本結構github

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

二、嵌套操做符
(1)子元素:>編輯器

<!-- div>ul>li -->

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

備註:div>ul>li的中間和後面不能有空格,不然按tab鍵後emmet 會中止解析,後面的例子也同樣不能有空格。工具

(2)兄弟元素:+spa

<!-- div+p+bq --> --> <div></div>
<p></p>
<blockquote></blockquote>

(3)向上一層:^,和>相反,能夠屢次使用插件

<!-- div+div>p>span+em -->

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


<!-- div+div>p>span+em^^^bq -->

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

(4)乘法:*,重複指定次數生成元素命令行

<!-- ul>li*5 -->

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

(5)分組:(),括號裏面的內容爲一個代碼塊,括號後面的元素與括號的第一個元素在同一級別

<!-- 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>

三、屬性操做符

(1)id和class

<!-- 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>

(2)自定義屬性:[attr]

<!-- td[title="Hello world!" colspan=3] -->

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

(3)項目編號:$

<!-- 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>

使用任意個$在數字前加任意個0

<!-- ul>li.item$$*5 -->

<ul>
    <li class="item01"></li>
    <li class="item02"></li>
    <li class="item03"></li>
    <li class="item04"></li>
    <li class="item05"></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,N爲開始的序號

<!-- 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>

四、文本:{},爲元素添加文本

<!-- a{Click me} -->

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

由於文本也是節點,因此 a[href=1.htm]{click me} 與 a[href=1.htm]>{click me} 等價。

可是有多個元素時生成的結果會不一樣,用子元素>後面有元素時,也會放在a元素裏面,例如

<!-- a{click}+b{here} -->

<a href="">click</a><b>here</b>

<!-- a>{click}+b{here} -->

<a href="">click<b>here</b></a>
相關文章
相關標籤/搜索