zoukankan      html  css  js  c++  java
  • 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用作 “缩写解析” 的停止标志。

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



  • 相关阅读:
    小账本软件设计之数据库设计模式构建
    基于JMeter的Quick Easy FTP Server性能测试
    构建之法 -源代码管理
    小账本APP——软件项目风险管理及解决办法案例
    基于python的Splash基本使用和负载均衡配置
    MQ初窥门径【面试必看的Kafka和RocketMQ存储区别】
    Apollo源码搭建调试看一文就够
    log4j2异步日志解读(二)AsyncLogger
    Disruptor源码解读
    高性能队列disruptor为什么这么快?
  • 原文地址:https://www.cnblogs.com/czf-zone/p/3660524.html
Copyright © 2011-2022 走看看