zoukankan      html  css  js  c++  java
  • 范仁义Emmet课程---1、HTML速写之Emmet语法规则

    范仁义Emmet课程---1、HTML速写之Emmet语法规则

    一、总结

    一句话总结:

    Emmet是一款能够飞速书写html代码的工具,能大大提高代码书写速率,语法使用也比较简单

    1、Emmet中如何快速敲出html初始结构?

    !(英文状态下的感叹号),然后按tab键

    2、Emmet中id和class分别对应的符号是什么?

    和css中的一样,id是#号,class是.点号

    3、Emmet中表示层次节点的符号?

    子节点(>),兄弟节点(+),上级节点(^)

    4、Emmet中表示重复和变量的符号分别是什么?

    重复(*),变量($):一个$ 代表一位数,$$就是两位数了,以此类推就可以形成$(1),$$(01),$$$(001)

    5、Emmet中中的分组用什么符号?

    小括号():英文状态下的小括号

    6、Emmet中表示属性的是什么符号?

    英文状态下的中括号[attr],比如a[href='###' name='xiaoA']

    7、Emmet中的隐式标签是什么?

    某些情况下,Emmet可以自动识别标签,比如.test识别为div.test,比如ul>.test$*3识别为ul>li.test$*3等等

    二、【Emmet】HTML速写之Emmet语法规则

    博客对应课程的视频位置:1、HTML速写之Emmet
    https://fanrenyi.com/video/18/72

    转自或参考:【Emmet】HTML速写之Emmet语法规则_Y.Cheng的博客-CSDN博客
    https://blog.csdn.net/qq_33744228/article/details/80910377

    emmet官网语法地址

    Abbreviations Syntax
    https://docs.emmet.io/abbreviations/syntax/

    Emmet—写HTML/CSS快到飞起

    在前端开发的过程中,最费时间的工作就是写 HTML、CSS 代码。一堆的标签、属性、括号等,头疼。这里推荐一个Emmet语法规则,让你写的时候爽到飞起,能大大提高代码书写,只需要敲一行代码就能生成你想要的完整HTML结构,下面会介绍如何使用。

    Emmet是一款插件,只要能安装他的编辑器都能使用,大部分编辑器都可以使用该语法规则,我们平时开发的Sublime TextEclipseNotepad++VS codeAtomDreamweaver等等编辑器都可以使用。

    安装方式和平时安装插件一样搜索这个emmet插件安装,每个编辑器安装方式不同,请各自尝试


    先来个例子:


    这个普通的HTML结构,你需要多久打出来呢?
    我只需要几秒钟,写好下面这条语句,按下键盘Tab键即可看到上图中的结构了

    div#box>p.title+ul.list>li.child${我是第$个}*3^div#box2
    

    是不是很爽,很快~~啊 ~ 啊~,仅仅一行代码就生成了一个复杂的HTML结构,并且id,class,内容都对应的上


    开始讲解语法吧

    1:html初始结构

    下图中的结构,偷懒的都会直接一个!=> Tab 解决,这样可以快速生成基础的结构,同时防止手写时忘记某个代码块,输入错误的代码。

    2:id(#),class(.)

    id指令:# ; class指令:.

    • div#test
    <div id="test"></div>
    
    • div.test
    <div class="test"></div>
    

    3:子节点(>),兄弟节点(+),上级节点(^)

    子节点指令:> ; 兄弟节点指令:+ ; 上级节点:^

    • div>ul>li>p
    <div>
       <ul>
         <li>
           <p></p>
         </li>
       </ul>
     </div>
    
    • div+ul+p
    <div></div>
    <ul></ul>
    <p></p>
    
    • div>ul>li^div (这里的^是接在li后面所以在li的上一级,与ul成了兄弟关系,当然两个^^就是上上级)
    <div>
       <ul>
         <li></li>
       </ul>
       <div></div>
     </div>
    

    4:重复(*)

    重复指令:*

    • div*5(*号后面添加数字表示重复的元素个数
       <div></div>
       <div></div>
       <div></div>
       <div></div>
       <div></div>
    

    5:分组(())

    分组指令:()

    • div>(ul>li>a)+div>p
      括号里面的内容为一个代码块,表示与括号内部嵌套和外面的的层级无关
    <div>
       <ul>
         <li><a href=""></a></li>
       </ul>
       <div>
         <p></p>
       </div>
     </div>
    

    解释:这里如果不加括号的话,猜想下,a+div这样div就是和a是兄弟关系了,会包含在li里面。懂了吧哈哈

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

    6:属性([attr])——id,class都有怎么能少了属性呢

    属性指令:[]

    • a[href=’###’ name=‘xiaoA’] (中括号内填写属性键值对的形式,并且空格隔开
    <a href="###" name="xiaoA"></a>
    

    ###6:编号()‘编号指令:) `编号指令: `

    • ul>li.test$*3 ($代表一位数,后面更上*数字就代表从1递增到填写的数字
     <ul>
       <li class="test1"></li>
       <li class="test2"></li>
       <li class="test3"></li>
     </ul>
    

    注意

    • 一个$ 代表一位数,$$就是两位数了,以此类推就可以形成$(1),$$(01),$$$(001)
    • 如果想自定义从几开始递增的话就利用:$@+数字数字
      例如:ul>li.test$@3
      3
     <ul>
       <li class="test3"></li>
       <li class="test4"></li>
       <li class="test5"></li>
     </ul>
    

    7:文本({})

    文本指令:{}

    • ul>li.test$*3{测试$} ({里面填写内容,可以和$一起组合使用哦}
    <ul>
      <li class="test1">测试1</li>
      <li class="test2">测试2</li>
      <li class="test3">测试3</li>
    </ul>
    

    8:隐式标签

    这个标签没有指令,而是部分标签可以不使用输入标签,直接输入指令,即可识别父类标签。

    例如:.test

    <div class="test"></div>
    

    例如:ul>.test$*3

     <ul>
       <li class="test1"></li>
       <li class="test2"></li>
       <li class="test3"></li>
     </ul>
    

    例如:select>.test$*5

    <select name="" id="">
      <option class="test1"></option>
      <option class="test2"></option>
      <option class="test3"></option>
      <option class="test4"></option>
      <option class="test5"></option>
    </select>
    

    等等…
    隐私标签有如下几个:

    • li:用于 ul 和 ol 中
    • tr:用于 table、tbody、thead 和 tfoot 中
    • td:用于 tr 中
    • option:用于 select 和 optgroup 中

    最后就是:看没用,操作几遍,几分钟你就能掌握这些指令,然后飞快的撸码

     
     

    三、课程代码

    1、HTML速写之Emmet语法规则.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>HTML速写之Emmet语法规则</title>
     6 </head>
     7 <body>
     8 
     9 <!--.box>p.title+ul.list>.child${我是第$个}*3^div#box2-->
    10 <div class="box">
    11     <p class="title"></p>
    12     <ul class="list">
    13         <li class="child1">我是第1个</li>
    14         <li class="child2">我是第2个</li>
    15         <li class="child3">我是第3个</li>
    16     </ul>
    17     <div id="box2"></div>
    18 </div>
    19 
    20 ---------------------------------------------
    21 <div id="box">
    22     <p class="title"></p>
    23     <ul class="list">
    24         <li class="child1">我是第1个</li>
    25         <li class="child2">我是第2个</li>
    26         <li class="child3">我是第3个</li>
    27     </ul>
    28     <div id="box2"></div>
    29 </div>
    30 
    31 </body>
    32 </html>

    2、Emmet语法

      1 <!doctype html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <meta name="viewport"
      6           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
      7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
      8     <title>Document</title>
      9 </head>
     10 <body>
     11 <!--1、生成html基本结构-->
     12 <!--
     13 英文状态下的感叹号! ==> 按tab键
     14 -->
     15 
     16 <!--
     17 2、id用#号键表示,class用.号表示
     18 -->
     19 <!--div#div1-->
     20 <div id="div1"></div>
     21 <div class="class1"></div>
     22 
     23 <!--
     24 3、emmet中没有内置的标签,所有的东西写好我们都可以按tab键来生成标签
     25 -->
     26 <!--fry-->
     27 <fry></fry>
     28 
     29 <!--
     30 4、emmet中如何表示层级关系
     31 emmet的语法和css选择器的语法很像
     32 
     33 >:子元素
     34 +:表示同级
     35 ^:表示上一级
     36 -->
     37 <div>
     38     <table></table>
     39 </div>
     40 <!--ul+div-->
     41 <ul></ul>
     42 <div></div>
     43 <!--div>div.test^ul-->
     44 <div>
     45     <div class="test"></div>
     46 </div>
     47 <ul></ul>
     48 <!--这个^符号可以用多次,每一次的话相当于往上面爬一级-->
     49 <!--div>div>div>div^^^table-->
     50 <div>
     51     <div>
     52         <div>
     53             <div></div>
     54         </div>
     55     </div>
     56 </div>
     57 <table></table>
     58 <!--div>div>div>div^^table-->
     59 <div>
     60     <div>
     61         <div>
     62             <div></div>
     63         </div>
     64     </div>
     65     <table></table>
     66 </div>
     67 
     68 <!--
     69 5、Emmet中的重复 和变量
     70 *:重复
     71 $:变量
     72 $符号可以写多位,如果是两个$$,表示从01开始,
     73 如果是$$$,表示从001开始
     74 -->
     75 <div></div>
     76 <div></div>
     77 <div></div>
     78 <!--div.div$*3-->
     79 <div class="div1"></div>
     80 <div class="div2"></div>
     81 <div class="div3"></div>
     82 <!--div.div$$*3-->
     83 <div class="div01"></div>
     84 <div class="div02"></div>
     85 <div class="div03"></div>
     86 
     87 <!--
     88 6、分组:英文状态下的括号来表示的
     89 -->
     90 <!--(div+ul)*3-->
     91 <div></div>
     92 <ul></ul>
     93 <div></div>
     94 <ul></ul>
     95 <div></div>
     96 <ul></ul>
     97 <!--(div>dl>(dt+dd)*3)+footer>p-->
     98 <div>
     99     <dl>
    100         <dt></dt>
    101         <dd></dd>
    102         <dt></dt>
    103         <dd></dd>
    104         <dt></dt>
    105         <dd></dd>
    106     </dl>
    107 </div>
    108 <footer>
    109     <p></p>
    110 </footer>
    111 
    112 <!--
    113 7、属性:[]
    114 如果有多个属性,多个属性也是要写在一个中括号里面的,中间用空格隔开
    115 -->
    116 a[href='https://fanrenyi.com']
    117 <a href="https://fanrenyi.com"></a>
    118 a[href='https://fanrenyi.com' title='fry']
    119 <a href="https://fanrenyi.com" title="fry"></a>
    120 <a href="https://fanrenyi.com" title="fry"></a>
    121 
    122 <!--
    123 8、标签里面的文字:英文状态下的 大括号 {}
    124 {}也是可以和$符号以及乘号配合使用
    125 -->
    126 div{123}
    127 <div>123</div>
    128 div{我是第$$个div}*3
    129 <div>我是第01个div</div>
    130 <div>我是第02个div</div>
    131 <div>我是第03个div</div>
    132 
    133 <!--
    134 9、隐式标签
    135 a、就是如果在最外面,如果没有写标签名,默认就是div
    136 例如.test
    137 b、子标签默认已知的情况下
    138 ul>.test$*3 比如ul(ol)下面只能是li
    139 table,tbody,thead,tfoot下面的tr
    140 select(optgrout)下面的option标签
    141 tr下面的td
    142 -->
    143 <div class="test"></div>
    144 <!--ul>.test-->
    145 <ul>
    146     <li class="test"></li>
    147 </ul>
    148 ul>.test$*3
    149 <ul>
    150     <li class="test1"></li>
    151     <li class="test2"></li>
    152     <li class="test3"></li>
    153 </ul>
    154 <table>
    155     <tr class="test"></tr>
    156     <tr>
    157         <td class="test"></td>
    158         <td class="test"></td>
    159         <td class="test"></td>
    160     </tr>
    161 </table>
    162 <select name="" id="">
    163     <option value="" class="test"></option>
    164 </select>
    165 </body>
    166 </html>
     
     
     
  • 相关阅读:
    Beta版本冲刺第二天 12.6
    Beta版本冲刺第一天 12.5
    Linux学习(2)—— 图形化界面
    Linux学习(1)—— 虚拟机安装Linux系统
    IntelliJ IDEA使用
    spring+springmvc+hibernate 整合
    新的篇章
    软件工程实践总结作业——个人作业
    Beta版本冲刺———第七天
    Beta版本冲刺———第六天
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12274610.html
Copyright © 2011-2022 走看看