写给自己看的前端开发神器Emmet使用手册

由 漆黑菌 于 2019年01月07日 发布

Emmet是干啥的?为什么要用Emmet

在前端开发过程中,重复代码片段是比不可少的。Emmet就是一款生成HTML+CSS代码片段的神器。初识Emmet是在VS code上,因为没有发现自带HTML摸板……去问怎么快速生成。回答曰,!+Tab键即可。这就是因为VS code中内置了Emmet,而!+Tab也就是Emmet快速生成<!DOCTYPE html>代码片段的快捷键。

中文文档

http://yanxyz.github.io/emmet-docs/全部功能请移步中文文档。看上去很牛逼,但是有很多功能在webstorm和VS code中并不能用……不知道是快捷键冲突还是什么其他原因。

常用功能

类CSS写法
  • 后代:>
  • 兄弟:+
  • 添加ID:#
  • 添加class:.
  • 自定义属性:如p[title="Hello world"]就是<p title="Hello world"></p>
  • 文本:{}如a{Click me}就是<a href="">Click me</a>
独特写法
  • 分组:()
  • 上级:^
  • 简写::可以简写一部分常见type,比如input:file就是<input type="file" name="" id="">form:post就是<form action="" method="post"></form>,link:favicon就是<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
防复读机
  • 乘法:*,可以重复元素。
  • 自增符号:$,多个$可以表达多个位数如$$$就是从0001开始。
  • 修饰符:@,配合自增符号使用,可以改变编号的方向(升序或降序)及起点。将@- 放在$后,可以改为降序。将@N放在$后,可以改变起点,如@3就从3开始增加。
  • 随机生成英文字符:lorem,后面可以加数字lorem30就是生成30个随机字符。
CSS简单缩写处理

大多数情况还是要用自动化构建工具,比如postcss

  • 厂商前缀:-wmso-+需要加前缀的属性即可,wmso即webkit,moz,ms,o的缩写。
小小疑惑

Emmet在某次更新后改成了H5类型的标签不闭合模式,无论当前文档模式是如何。比如input标签就会补全为<input>而不是<input/>或者<input></input>。在webstorm环境下似乎还没啥快捷改回去的方法,用兼容性模式看了下暂时也没发现什么问题,可以先用着。