Emmet插件使用手册

Emmet插件介绍

Emmet插件(前身为Zen Coding)是一个能大幅度提高前端开发效率的一个工具。

基本上,大多数的文本编辑器都会允许你存储和重用一些代码块,我们称之为“片段”。虽然片段能很好地推动你得生产力,但大多数的实现都有这样一个缺点:你必须先定义你得代码片段,并且不能在运行时进行拓展。

Emmet把片段这个概念提高到了一个新的层次:你可以设置CSS形式的能够动态被解析的表达式,然后根据你所输入的缩写来得到相应的内容。Emmet是很成熟的并且非常适用于编写HTML/XMLCSS代码的前端开发人员,但也可以用于编程语言。

Emmet插件的下载和安装

Emmet为大部分流行的编辑器都提供了安装插件,许多编辑器都可以从Emmet官网下载安装使用Emmet插件。

Emmet插件的使用

由于博主使用的是Mac环境 + Sublime Text 3编辑器,所以下边的演示示例都是在Mac系统下的Sublime Text 3编辑器下进行的。

使用方法

Emmet的使用方法也非常简单,直接在编辑器中输入HTML或CSS的代码的缩写,然后按tab键就可以拓展为完整的代码片段。

语法示例

  • 后代:>

    例如缩写 nav>ul>li,按下Tab键会生成以下代码:

    <nav>
    <ul>
    <li></li>
    </ul>
    </nav>
  • 兄弟: +

    缩写div+p+bq,按下Tab键会生成以下代码:

    <div></div>
    <p></p>
    <blockquote></blockquote>
  • 上级:^

    1. 缩写div+div>p>span+em^bq,按下Tab键会生成以下代码:

      <div></div>
      <div>
      <p><span></span><em></em></p>
      <blockquote></blockquote>
      </div>
    2. 缩写div+div>p>span+em^^bq,按下Tab键会生成以下代码:

      <div></div>
      <div>
      <p><span></span><em></em></p>
      </div>
      <blockquote></blockquote>
  • 分组:()

    1. 利用()可以给缩写分组,组合生成各种需要的代码结构。
      缩写:div>(header>ul>li*2>a)+footer>p,按下Tab键会生成以下代码:

      <div>
      <header>
      <ul>
      <li><a href=""></a></li>
      <li><a href=""></a></li>
      </ul>
      </header>
      <footer>
      <p></p>
      </footer>
      </div>
    2. 缩写:(div>dl>(dt+dd)*3)+footer>p,按下Tab键会生成以下代码:

      <div>
      <dl>
      <dt></dt>
      <dd></dd>
      <dt></dt>
      <dd></dd>
      <dt></dt>
      <dd></dd>
      </dl>
      </div>
      <footer>
      <p></p>
      </footer>
  • 乘法:*

    1. 例如缩写ul>li*3,按下Tab键会生成以下代码:

      <ul>
      <li></li>
      <li></li>
      <li></li>
      </ul>
    2. 缩写div+div>nav>i*3,按下Tab键会生成以下代码:

      <div></div>
      <div>
      <nav>
      <i></i>
      <i></i>
      <i></i>
      </nav>
      </div>
  • 自增符号:$

    1. 缩写div>nav>ul>li.iterm$*3,按下Tab键会生成以下代码:

      <iv>
      <nav>
      <ul>
      <li class="iterm1"></li>
      <li class="iterm2"></li>
      <li class="iterm3"></li>
      </ul>
      </nav>
      </iv>
    2. 缩写h$[title=item$]{Header $}*3,按下Tab键会生成以下代码:

      <h1 title="item1">Header 1</h1>
      <h2 title="item2">Header 2</h2>
      <h3 title="item3">Header 3</h3>
    3. 缩写ul>li.item$$$*5,按下Tab键会生成以下代码:

      <ul>
      <li class="item001"></li>
      <li class="item002"></li>
      <li class="item003"></li>
      <li class="item004"></li>
      <li class="item005"></li>
      </ul>
    4. 缩写ul>li.item$@-*5,按下Tab键会生成以下代码:

      <ul>
      <li class="item5"></li>
      <li class="item4"></li>
      <li class="item3"></li>
      <li class="item2"></li>
      <li class="item1"></li>
      </ul>
    5. 缩写ul>li.item$@3*5,按下Tab键会生成以下代码:

      <ul>
      <li class="item3"></li>
      <li class="item4"></li>
      <li class="item5"></li>
      <li class="item6"></li>
      <li class="item7"></li>
      </ul>
  • ID和类属性

    1. #header

      <div id="header"></div>
    2. .title

      <div class="title"></div>
    3. form#search.wide

      <form action="" id="search" class="wide"></form>
    4. p.class1.class2.class3

      <p class="class1 class2 class3"></p>
    5. div#main>section.paper>nav>ul>li.iterm$*5>a.classname

      <div id="main">
      <section class="paper">
      <nav>
      <ul>
      <li class="iterm1"><a href="" class="classname"></a></li>
      <li class="iterm2"><a href="" class="classname"></a></li>
      <li class="iterm3"><a href="" class="classname"></a></li>
      <li class="iterm4"><a href="" class="classname"></a></li>
      <li class="iterm5"><a href="" class="classname"></a></li>
      </ul>
      </nav>
      </section>
      </div>
  • HTML

    1. html结构代码

      html语法时在英文输入状态下输入!,然后按下Tab键,即可自动生成HTML整体结构代码
      效果如下:

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

      </body>
      </html>
    2. a:link

      <a href="http://"></a>
    3. a:mail

      <a href="mailto:"></a>
    4. link

      <link rel="stylesheet" type="text/css" href="">
    5. meta:vp

      <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    6. img

      <img src="">
    7. input

      <input type="" name="">
    8. input:search

      <input type="search" name="" id="">
    9. btn:s

      <button type="submit"></button>
    10. form:get

      <form action="" method="get"></form>

参考文章: