HTML速写之Emmet语法规则

HTML速写之Emmet语法规则

Emmet—写HTML/CSS快到飞起

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

先来个例子:

image-20230523181423170

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

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

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

开始讲解语法吧

1:html初始骨架结构

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

image-20230523182223176

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>
</div>

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

属性指令:[]

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

<a href="###" name="xiaoA"></a>

7:编号($)

编号指令:$

ul>li.test ∗ 3 ( *3 ( 3代表一位数,后面更上*数字就代表从1递增到填写的数字)

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

注意:

如果想实现00x的格式,该怎么办呢?

可以连写多个$就可以生成带有前导的编号了

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>

那如果我想实现降序呢?

使用 @ 修饰符,可以改变编号的方向以及起点

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>

如果想改变起点,不从1开始,可以使用 @N 放在 $ 后面

ul>li.item$@3*5

表现为:

<ul>
    <li class="item3"></li>
    <li class="item4"></li>
    <li class="item5"></li>
    <li class="item6"></li>
    <li class="item7"></li>
</ul>

当然了,你也可以将多种修饰符混合使用

ul>li.item$@-3*5

理论上的表现:

<ul>
    <li class="item7"></li>
    <li class="item6"></li>
    <li class="item5"></li>
    <li class="item4"></li>
    <li class="item3"></li>
</ul>

如果想自定义从几开始递增的话就利用: @ + 数字 ∗ 数字例如: u l > l i . t e s t @+数字*数字 例如:ul>li.test @+数字数字例如:ul>li.test@3*3

 <ul>
   <li class="test3"></li>
   <li class="test4"></li>
   <li class="test5"></li>
 </ul>

8:文本({})

文本指令:{}

ul>li.testKaTeX parse error: Expected '}', got 'EOF' at end of input: *3{测试} ({里面填写内容,可以和$一起组合使用哦})

<ul>
  <li class="test1">测试1</li>
  <li class="test2">测试2</li>
  <li class="test3">测试3</li>
</ul>

9:隐式标签

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

默认div 例如:.test

li: 可在ul 和 ol 中使用 例如:ul>.test$*3

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

option:可在select中使用例如: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>

等等~~~

tr:可在 table、tbody、thead 和 tfoot 中使用
td:可在 tr 中使用
最后就是:看没用,操作几遍,几分钟你就能掌握这些指令,然后飞快的撸码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值