HTML速写之Emmet语法规则
Emmet—写HTML/CSS快到飞起
在前端开发的过程中,最费时间的工作就是写 HTML、CSS 代码。一堆的标签、属性、括号等,头疼。这里推荐一个Emmet语法规则,让你写的时候爽到飞起,能大大提高代码书写,只需要敲一行代码就能生成你想要的完整HTML结构,下面会介绍如何使用。
先来个例子:
这个普通的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.test**3:子节点(>),兄弟节点(+),上级节点(^)
子节点指令:> ; 兄弟节点指令:+ ; 上级节点:^
div>ul>li>p
div+ul+p
div>ul>li^div (这里的^是接在li后面所以在li的上一级,与ul成了兄弟关系,当然两个^^就是上上级)
4:重复(*)
重复指令:*
**div5( 号后面添加数字表示重复的元素个数)
### 5:分组(())分组指令:()
div>(ul>li>a)+div>p (括号里面的内容为一个代码块,表示与括号内部嵌套和外面的的层级无关)
解释:这里如果不加括号的话,猜想下,a+div这样div就是和a是兄弟关系了,会包含在li里面。懂了吧哈哈
6:属性([attr])——id,class都有怎么能少了属性呢
属性指令:[]
a[href=’###’ name=‘xiaoA’] (中括号内填写属性键值对的形式,并且空格隔开)
<a href="###" name="xiaoA"></a>
7:编号($)
编号指令:$
ul>li.test代表一位数,后面更上*数字就代表从1递增到填写的数字)
如果想实现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>
如果想自定义从几开始递增的话就利用:@3*3
8:文本({})
文本指令:{}
ul>li.test*3{测试} ({里面填写内容,可以和$一起组合使用哦})
- 测试1
- 测试2
- 测试3
这个标签没有指令,而是部分标签可以不使用输入标签,直接输入指令,即可识别父类标签。
默认div 例如:.test
*option:可在select中使用例如:select>.test$5
等等~~~
tr:可在 table、tbody、thead 和 tfoot 中使用 td:可在 tr 中使用 最后就是:看没用,操作几遍,几分钟你就能掌握这些指令,然后飞快的撸码