• Emmet语法


    神器webstrom好用的功能太多。最近发布的8.0版本,内置grunt非常舒心。通过Alt+鼠标来实现多点编辑,更是让人心旷神怡。

    当然这些都是锦上添花的,单是它强大的JS编码提示,以及支持通过安装插件来监听并编译less这两项功能,就已经让人欲罢不能了。

    css3属性一键补全前缀,又给我不上了狠狠的一刀,嗯...我喜欢上它了。

    今天,来说说它另一个锦上添花的功能,默认集成的Emmet插件。

    说起来小弟惭愧,Emmet在业界早已享誉盛名,但我却是不久前才知晓其功能,至于其大名,还是托一位TX的大虾指点才得以知晓。

    然后,说起Emmet,有着一套说简单不简单,说复杂不复杂的语法。

    作为初学者的我,表示虽然不难记,但在没习惯之前,要记住还是有困难。

    故mark之,以备查阅。

     

    在webstrom里,当你在一个html文档里输入了一些列语句后,光标停留在语句尾端,然后按tab键,就能执行命令,生成html代码。

    下面通过一系列例子,来讲述其语句的语法。

     

    1.子节点操作符 >

    <!-- 执行前 -->
    div>ul>li
    
    <!-- 执行后 -->
    <div>
      <ul>
        <li></li>
      </ul>
    </div>

     

    2.兄弟节点操作符 +

    <!-- 执行前 -->
    ul>li+li+li
    
    <!-- 执行后 -->
    <ul>
      <li></li>
      <li></li>
      <li></li>    
    </ul>

     

    3.父节点操作符 ^

    <!-- 执行前 -->
    div>ul>li+li+li^div
    
    <!-- 执行后 -->
    <div>
      <ul>
        <li></li>
        <li></li>
        <li></li>
      </ul>
      <div></div>
    </div>

     

    4.多个兄弟节点操作符 *

    <!-- 执行前 -->
    ul>li*5
    
    <!-- 执行后 -->
    <ul>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>

     

    5.分组操作符 ()

    <!-- 执行前 -->
    div>(div>ul>li)+(div>p)+(div>form)
    
    <!-- 执行后 -->
    <div>
      <div>
        <ul>
          <li></li>
        </ul>
      </div>
      <div>
        <p></p>
      </div>
      <div>
        <form action=""></form>
      </div>
    </div>

     

    6.Id和Class操作符 #和.

    <!-- 执行前 -->
    div#wrap>div.content
    
    <!-- 执行后 -->
    <div id="wrap">
      <div class="content"></div>
    </div>

     

    7.自定义属性操作符 []

    <!-- 执行前 -->
    div[myAttr="something"]
    
    <!-- 执行后 -->
    <div myAttr="something"></div>

     

    8.计数器 $

    <!-- 执行前,请配合 * 操作符一起使用,否则 $ 的值只会是 0 -->
    ul>li.img_$*5
    
    <!-- 执行后 -->
    <ul>
      <li class="img_1"></li>
      <li class="img_2"></li>
      <li class="img_3"></li>
      <li class="img_4"></li>
      <li class="img_5"></li>
    </ul>

     

    9.文本内容操作符 {}

    <!-- 执行前 -->
    ul>li{列表内容$}*5
    
    <!-- 执行后 -->
    <ul>
      <li>列表内容1</li>
      <li>列表内容2</li>
      <li>列表内容3</li>
      <li>列表内容4</li>
      <li>列表内容5</li>
    </ul>

     

    10.关于空格

    从上面的命令都能看得出来,操作符与tags之间,都没有空格。

    因为,空格被Emmet用作 “缩写解析” 的停止标志。

    而在属性值中,如果有空格,也需要使用""(双引号)进行包括。



  • 相关阅读:
    P3121 [USACO15FEB]审查(黄金)Censoring (Gold)
    P3389 【模板】高斯消元法
    P2260 [清华集训2012]模积和
    【Codevs1237&网络流24题】餐巾计划(费用流)
    【POJ3680】Intervals(费用流)
    【BZOJ1070】修车(费用流)
    【BZOJ1834】network 网络扩容(最大流,费用流)
    【POJ1149&BZOJ1280】PIGS(最大流)
    【BZOJ2127】happiness(最小割)
    【BZOJ3894】文理分科(最小割)
  • 原文地址:https://www.cnblogs.com/czf-zone/p/3660524.html
Copyright © 2020-2023  润新知