• HTML/CSS 速写神器 Emmet语法


    Emmet 是高效、快速编写 HTML 和 CSS 代码的一种插件,如果还不了解,请戳Emmet — the essential toolkit for web-developers,再根据你使用的编辑器(Sublime 或 vim 等)下载对应的 Emmet 插件,Visual Code直接支持Emmet语法。

    1.准备工作

    编辑器使用Visual Code,下载地址访问https://code.visualstudio.com/,新建一个HTML文件,并保存。

    2.生成 HTML 文档初始结构

    HTML 文档的初始结构,就是包括 doctype、html、head、body 以及 meta 等内容。你只需要输入一个 “!” 就可以生成一个 HTML5 的标准文档初始结构,你没有看错,输入一个感叹号(当然是英文符号),然后按 “Tab” 键便会生成代码,就会发现生成了下面的结构:

    <!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 结构指令:

    • html:5 或者 ! 生成 HTML5 结构
    • html:xt 生成 HTML4 过渡型
    • html:4s 生成 HTML4 严格型

    3.任意一个 html 标签输入都会生成完整的闭合标签

    例如输入 p 按 tab 则 生成:<p></p>

    4.生成带有 id 、class 的 HTML 标签

    例如输入 div#header.section 则生成

    <div id="header" class="section"></div>

     

    5.生成后代:>

    例如输入p>span 则生成 

    <p><span></span></p>

     

    6.生成兄弟标签:+

    例如输入p+div 则生成

    <p></p><div></div>

     

    7.生成上级标签: ^

    例如输入ul>li>a^div 则生成

    <ul>
      <li><a href=""></a></li>
      <div></div>
    </ul>

    也可以使用多个 ^,例如输入ul>li>a^^div 则生成

    <ul>
        <li><a href=""></a></li>
    </ul>
    <div></div>

     

    8.重复生成多个标签 *

    例如输入ul>li*5 则生成

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

     

    9.生成分组的标签: ()

    例如输入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>

     

    10.生成自定义属性:[]

    例如输入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" />

     

    11.生成递增的属性标签等: $

    例如输入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>

     

    12.生成多位递增的呢:$$$

    例如输入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>

    想生成几位输入几个$

     

    13.要生成递减的呢:@-

    例如输入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>

     

    14.想要从某个特定的顺序开始呢:@N

    例如输入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>

     

    15.逆序生成到某个数:@-

    例如输入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>

     

    16.生成文本内容:{}

    例如输入p{我是文字内容} 则生成

     <p>我是文字内容</p>

     

    17.缺省元素:

    声明一个带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>

    下面是所有的隐式标签名称:

    • li:用于 ul 和 ol 中
    • tr:用于 table、tbody、thead 和 tfoot 中
    • td:用于 tr 中
    • option:用于 select 和 optgroup 中
  • 相关阅读:
    [华为]字符串反转
    [华为]字符个数统计
    [华为]字符串分隔
    [华为]计算字符个数
    [华为]字符串最后一个单词的长度
    感悟-思考-生活
    [百度校招]打印全排列
    [阿里]逆序打印整数,要求递归实现
    [百度]数组中去掉连续重复的数字,只保留1个
    百度NLP三面
  • 原文地址:https://www.cnblogs.com/nick4/p/6391244.html
Copyright © 2020-2023  润新知