一、Emmet的安装与介绍(HTML/CSS代码自动补全)
Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的工具,能够实现 HTML、CSS 的快速编写。
- 官网地址:http://emmet.io/
- 官方文档:http://docs.emmet.io/cheat-sheet/
- Atom的emmet介绍页面:https://atom.io/packages/emmet
1,使用Emmet的好处
- 通常大多数的文本编辑器都会允许我们存储和重用一些代码块,我们称之为“片段”。虽然片段能很好地推动我们的生产力,但大多数的实现都有这样一个缺点:我们必须先定义代码片段,并且不能再运行时进行拓展。
- 而 Emmet 把片段这个概念提高到了一个新的层次:我们可以设置 CSS 形式的能够动态被解析的表达式,然后根据输入的缩写来得到相应的内容。Emmet 很成熟的并且非常适用于编写 HTML/XML 和 CSS 代码的前端开发人员,但也可以用于编程语言。
2,安装Emmet
Emmet 为大部分流行的编辑器都提供了安装插件,本文演示如何在 Atom 中使用 Emmet 插件。
(1)点击 Atom 的“Preferences”菜单选项(Windows 下是“Settings”菜单选项)
(2)进入到 Install 页面。
(3)搜索“Emmet”包,点击 Install 按钮即可安装。
3,简单的使用样例
(1)我们在编辑器中输入如下代码:
|
1
|
ul>li*6 |
(2)接着按下 tab 键,之前的缩写代码就会自动扩展为完整的 html 代码片断。
二、基本语法
1,后代:>
缩写:nav>ul>li
|
1
2
3
4
5
|
<nav> <ul> <li></li> </ul></nav> |
2,兄弟:+
缩写:div+p+bq|
1
2
3
|
<div></div><p></p><blockquote></blockquote> |
3,上级:^
(1)缩写:div+div>p>span+em^bq|
1
2
3
4
5
|
<div></div><div> <p><span></span><em></em></p> <blockquote></blockquote></div> |
(2)缩写:div+div>p>span+em^^bq
|
1
2
3
4
5
|
<div></div><div> <p><span></span><em></em></p></div><blockquote></blockquote> |
4,分组:()
(1)缩写:div>(header>ul>li*2>a)+footer>p|
1
2
3
4
5
6
7
8
9
10
11
|
<div> <header> <ul> <li><a href=""></a></li> <li><a href=""></a></li> </ul> </header> <footer> <p></p> </footer></div> |
(2)缩写:(div>dl>(dt+dd)*3)+footer>p
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<div> <dl> <dt></dt> <dd></dd> <dt></dt> <dd></dd> <dt></dt> <dd></dd> </dl></div><footer> <p></p></footer> |
5,乘法:*
缩写:ul>li*5|
1
2
3
4
5
6
7
|
<ul> <li></li> <li></li> <li></li> <li></li> <li></li></ul> |
6,自增符号:$
(1)缩写:ul>li.item$*5|
1
2
3
4
5
6
7
|
<ul> <li class="item1"></li> <li class="item2"></li> <li class="item3"></li> <li class="item4"></li> <li class="item5"></li></ul> |
(2)缩写:h$[title=item$]{Header $}*3
|
1
2
3
|
<h1 title="item1">Header 1</h1><h2 title="item2">Header 2</h2><h3 title="item3">Header 3</h3> |
(3)缩写:ul>li.item$$$*5
|
1
2
3
4
5
6
7
|
<ul> <li class="item001"></li> <li class="item002"></li> <li class="item003"></li> <li class="item004"></li> <li class="item005"></li></ul> |
(4)缩写:ul>li.item$@-*5
|
1
2
3
4
5
6
7
|
<ul> <li class="item5"></li> <li class="item4"></li> <li class="item3"></li> <li class="item2"></li> <li class="item1"></li></ul> |
(5)缩写:ul>li.item$@3*5
|
1
2
3
4
5
6
7
|
<ul> <li class="item3"></li> <li class="item4"></li> <li class="item5"></li> <li class="item6"></li> <li class="item7"></li></ul> |
7,ID和类属性
(1)缩写:#header
|
1
|
<div id="header"></div> |
(2)缩写:.title
|
1
|
<div class="title"></div> |
(3)缩写:form#search.wide
|
1
|
<form id="search" class="wide"></form> |
(4)缩写:p.class1.class2.class3
|
1
|
<p class="class1 class2 class3"></p> |
8,自定义属性
(1)缩写:p[title="Hello world"]|
1
|
<p title="Hello world"></p> |
(2)缩写:td[rowspan=2 colspan=3 title]
|
1
|
<td rowspan="2" colspan="3" title=""></td> |
(3)缩写:[a='value1' b="value2"]
|
1
|
<div a="value1" b="value2"></div> |
9,文本:{}
(1)缩写:a{Click me}
|
1
|
<a href="">Click me</a> |
(2)缩写:p>{Click }+a{here}+{ to continue}
|
1
|
<p>Click <a href="">here</a> to continue</p> |
10,隐式标签
(1)缩写:.class|
1
|
<div class="class"></div> |
(2)缩写:em>.class
|
1
|
<em><span class="class"></span></em> |
|
1
2
3
|
<ul> <li class="class"></li></ul> |
(4)缩写:table>.row>.col
|
1
2
3
4
5
|
<table> <tr class="row"> <td class="col"></td> </tr></table> |
三、HTML标签语法
1,所有未知的缩写都会转换成标签
缩写:hangge|
1
|
<hangge></hangge> |
2,基本html标签
(1)缩写:!|
1
2
3
4
5
6
7
8
9
10
11
12
|
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title></head><body> </body></html> |
(2)缩写:a
|
1
|
<a href=""></a> |
(3)缩写:a:link
|
1
|
|
(4)缩写:a:mail
|
1
|
<a href="mailto:"></a> |
(5)缩写:abbr
|
1
|
<abbr title=""></abbr> |
(6)缩写:acronym
|
1
|
<acronym title=""></acronym> |
(7)缩写:base
|
1
|
<base href="" /> |
(8)缩写:basefont
|
1
|
<basefont /> |
(9)缩写:br
|
1
|
<br /> |
(10)缩写:frame
|
1
|
<frame /> |
(11)缩写:hr
|
1
|
<hr /> |
(12)缩写:bdo
|
1
|
<bdo dir=""></bdo> |
(13)缩写:bdo:r
|
1
|
<bdo dir="rtl"></bdo> |
(14)缩写:bdo:l
|
1
|
<bdo dir="ltr"></bdo> |
(15)缩写:col
|
1
|
<col /> |
(16)缩写:link
|
1
|
<link rel="stylesheet" href="" /> |
(17)缩写:link:css
|
1
|
<link rel="stylesheet" href="style.css" /> |
(18)缩写:link:print
|
1
|
<link rel="stylesheet" href="print.css" media="print" /> |
(19)缩写:link:favicon
|
1
|
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> |
(20)缩写:link:touch
|
1
|
<link rel="apple-touch-icon" href="favicon.png" /> |
(21)缩写:link:rss
|
1
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml" /> |
(22)缩写:link:atom
|
1
|
<link rel="alternate" type="application/atom+xml" title="Atom" href="atom.xml" /> |
(23)缩写:meta
|
1
|
<meta /> |
(24)缩写:meta:utf
|
1
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> |
(25)缩写:meta:win
|
1
|
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" /> |
(26)缩写:meta:vp
|
1
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" /> |
(27)缩写:meta:compat
|
1
|
<meta http-equiv="X-UA-Compatible" content="IE=7" /> |
(28)缩写:style
|
1
|
<style></style> |
(29)缩写:script
|
1
|
<script></script> |
(30)缩写:script:src
|
1
|
<script src=""></script> |
(31)缩写:img
|
1
|
<img src="" alt="" /> |
(32)缩写:iframe
|
1
|
<iframe src="" frameborder="0"></iframe> |
(33)缩写:embed
|
1
|
<embed src="" type="" /> |
(34)缩写:object
|
1
|
<object data="" type=""></object> |
(35)缩写:param
|
1
|
<param name="" value="" /> |
(36)缩写:map
|
1
|
<map name=""></map> |
(37)缩写:area
|
1
|
<area shape="" coords="" href="" alt="" /> |
(38)缩写:area:d
|
1
|
<area shape="default" href="" alt="" /> |
(39)缩写:area:c
|
1
|
<area shape="circle" coords="" href="" alt="" /> |
(40)缩写:area:r
|
1
|
<area shape="rect" coords="" href="" alt="" /> |
(41)缩写:area:p
|
1
|
<area shape="poly" coords="" href="" alt="" /> |
(42)缩写:form
|
1
|
<form action=""></form> |
(43)缩写:form:get
|
1
|
<form action="" method="get"></form> |
(44)缩写:form:post
|
1
|
<form action="" method="post"></form> |
(45)缩写:label
|
1
|
<label for=""></label> |
(46)缩写:input
|
1
|
<input type="text" /> |
(47)缩写:inp
|
1
|
<input type="text" name="" id="" /> |
(48)缩写:input:hidden
别名:input[type=hidden name]
(49)缩写:input:h
|
1
|
<input type="hidden" name="" /> |
(49)缩写:input:h
别名:input:hidden
(50)缩写:input:text, input:t
|
1
|
<input type="hidden" name="" /> |
(50)缩写:input:text, input:t
别名:inp
(50)缩写:input:search
|
1
|
<input type="text" name="" id="" /> |
(50)缩写:input:search
别名:inp[type=search]
(51)缩写:input:email
|
1
|
<input type="search" name="" id="" /> |
(51)缩写:input:email
别名:inp[type=email]
(52)缩写:input:url
|
1
|
<input type="email" name="" id="" /> |
(52)缩写:input:url
别名:inp[type=url]
(53)缩写:input:password
|
1
|
<input type="url" name="" id="" /> |
(53)缩写:input:password
别名:inp[type=password]
(54)缩写:input:p
|
1
|
<input type="password" name="" id="" /> |
(54)缩写:input:p
别名:input:password
(55)缩写:input:datetime
|
1
|
<input type="password" name="" id="" /> |
(55)缩写:input:datetime
别名:inp[type=datetime]
(56)缩写:input:date
|
1
|
<input type="datetime" name="" id="" /> |
(56)缩写:input:date
别名:inp[type=date]
(57)缩写:input:datetime-local
|
1
|
<input type="date" name="" id="" /> |
(57)缩写:input:datetime-local
别名:inp[type=datetime-local]
(58)缩写:input:month
|
1
|
<input type="datetime-local" name="" id="" /> |
(58)缩写:input:month
别名:inp[type=month]
(59)缩写:input:week
|
1
|
<input type="month" name="" id="" /> |
(59)缩写:input:week
别名:inp[type=week]
(60)缩写:input:time
|
1
|
<input type="week" name="" id="" /> |
(60)缩写:input:time
别名:inp[type=time]
(61)缩写:input:number
|
1
|
<input type="time" name="" id="" /> |
(61)缩写:input:number
别名:inp[type=number]
(62)缩写:input:color
|
1
|
<input type="number" name="" id="" /> |
(62)缩写:input:color
别名:inp[type=color]
(63)缩写:input:checkbox
|
1
|
<input type="color" name="" id="" /> |
(63)缩写:input:checkbox
别名:inp[type=checkbox]
(64)缩写:input:c
|
1
|
<input type="checkbox" name="" id="" /> |
(64)缩写:input:c
别名:input:checkbox
(65)缩写:input:radio
|
1
|
<input type="checkbox" name="" id="" /> |
(65)缩写:input:radio
别名:inp[type=radio]
(66)缩写:input:r
|
1
|
<input type="radio" name="" id="" /> |
(66)缩写:input:r
别名:input:radio
(67)缩写:input:range
|
1
|
<input type="radio" name="" id="" /> |
(67)缩写:input:range
别名:inp[type=range]
(68)缩写:input:file
|
1
|
<input type="range" name="" id="" /> |
(68)缩写:input:file
别名:inp[type=file]
(69)缩写:input:f
|
1
|
<input type="file" name="" id="" /> |
(69)缩写:input:f
别名:input:file
(70)缩写:input:submit
(71)缩写:input:s
|
1
|
<input type="file" name="" id="" /> |
(70)缩写:input:submit
|
1
|
<input type="submit" value="" /> |
(71)缩写:input:s
别名:input:submit
(72)缩写:input:image
(73)缩写:input:i
|
1
|
<input type="submit" value="" /> |
(72)缩写:input:image
|
1
|
<input type="image" src="" alt="" /> |
(73)缩写:input:i
别名:input:image
(74)缩写:input:button
(75)缩写:input:b
|
1
|
<input type="image" src="" alt="" /> |
(74)缩写:input:button
|
1
|
<input type="button" value="" /> |
(75)缩写:input:b
别名:input:button
(76)缩写:isindex
(77)缩写:input:reset
|
1
|
<input type="button" value="" /> |
(76)缩写:isindex
|
1
|
<isindex /> |
(77)缩写:input:reset
别名:input:button[type=reset]
(78)缩写:select
(79)缩写:option
(80)缩写:textarea
(81)缩写:menu:context
|
1
|
<input type="reset" value="" /> |
(78)缩写:select
|
1
|
<select name="" id=""></select> |
(79)缩写:option
|
1
|
<option value=""></option> |
(80)缩写:textarea
|
1
|
<textarea name="" id="" cols="30" rows="10"></textarea> |
(81)缩写:menu:context
别名:menu[type=context]>
(82)缩写:menu:c
|
1
|
<menu type="context"></menu> |
(82)缩写:menu:c
别名:menu:context
(83)缩写:menu:toolbar
|
1
|
<menu type="context"></menu> |
(83)缩写:menu:toolbar
别名:menu[type=toolbar]>
(84)缩写:menu:t
|
1
|
<menu type="toolbar"></menu> |
(84)缩写:menu:t
别名:menu:toolbar
(85)缩写:video
(86)缩写:audio
(87)缩写:html:xml
(88)缩写:keygen
(89)缩写:command
(90)缩写:bq
|
1
|
<menu type="toolbar"></menu> |
(85)缩写:video
|
1
|
<video src=""></video> |
(86)缩写:audio
|
1
|
<audio src=""></audio> |
(87)缩写:html:xml
|
1
|
|
(88)缩写:keygen
|
1
|
<keygen /> |
(89)缩写:command
|
1
|
<command /> |
(90)缩写:bq
别名:blockquote
(91)缩写:acr
|
1
|
<blockquote></blockquote> |
(91)缩写:acr
别名:acronym
(92)缩写:fig
|
1
|
<acronym title=""></acronym> |
(92)缩写:fig
别名:figure
(93)缩写:figc
|
1
|
<figure></figure> |
(93)缩写:figc
别名:figcaption
(94)缩写:ifr
|
1
|
<figcaption></figcaption> |
(94)缩写:ifr
别名:iframe
(95)缩写:emb
|
1
|
<iframe src="" frameborder="0"></iframe> |
(95)缩写:emb
别名:embed
(96)缩写:obj
|
1
|
<embed src="" type="" /> |
(96)缩写:obj
别名:object
(97)缩写:src
|
1
|
<object data="" type=""></object> |
(97)缩写:src
别名:source
(98)缩写:cap
|
1
|
<source></source> |
(98)缩写:cap
别名:caption
(99)缩写:colg
|
1
|
<caption></caption> |
(99)缩写:colg
别名:colgroup
(100)缩写:fst, fset
|
1
|
<colgroup></colgroup> |
(100)缩写:fst, fset
别名:fieldset
(101)缩写:btn
|
1
|
<fieldset></fieldset> |
(101)缩写:btn
别名:button
(102)缩写:btn:b
|
1
|
<button></button> |
(102)缩写:btn:b
别名:button[type=button]
(103)缩写:btn:r
|
1
|
<button type="button"></button> |
(103)缩写:btn:r
别名:button[type=reset]
(104)缩写:btn:s
|
1
|
<button type="reset"></button> |
(104)缩写:btn:s
别名:button[type=submit]
|
1
|
<button type="submit"></button> |