超高速前端开发工具——Emmet
2016-07-29 11:52
183 查看
这是一篇发布很久的文章,首发在时光本无罪的独立博客里,不过已经没时间同步更新了。当时 CSDN 还未发布 Markdown 编辑器,今天特此使用 Markdown 整理一下排版,阅读体验更棒。
旧文链接:http://blog.csdn.net/ys743276112/article/details/38133923
— 2016/07/29
本篇文章基于 Sublime Text 2 软件,Emmet 是其一个插件。
这就是一个 HTML5 的标准结构,也是默认的 HTML 结构。如果你想生成 HTML4 的过渡型结构,那么输入指令
Emmet 会自动把 doctype 给你补全了,怎么样,这样的功能会不会让你动心?简单总结一下常用的 HTML 结构指令:
2 生成带有
Emmet 的语法有点类似
Emmet 默认的标签为
然后就生成了对应的结构。同理,如果想要编写一个 ==id 为 ccc 的 class 为 ddd 的 ul 标签==,我们可以这样写:
很简单吧?比你用手写 id 、class 方便多了吧
3 生成后代(子标签):
大于号表示后面要生成的内容是当前标签的后代,即子标签。例如我要==生成一个无序列表,而且被 class 为 aaa 的 div 包裹==,那么可以使用下面指令:
可以生成如下的结构:
4 生成兄弟:
上面是生成下级元素,如果想要==生成平级的元素==,就需要使用
就可以生成如下的 HTML 结构:
5 生成上级元素:
上级 (
就会生成如下结构:
如果我想==相对于 div 生成一个平级元素==,那么就再上升一个层次,多用一个
6 重复生成多份:
特别对于一个无序列表,
这样就直接生成五个项目的无序列表了。
如果想要生成多份其他结构,方法类似。
7 生成分组:
用括号进行分组,这样可以更加明确要生成的结构,特别是层次关系,例如:
这样很明显就可以看出层次关系和并列关系,生成如下结构:
此外,分组还可以很方便的结合上面说的 “*” 符号生成重复结构:
生成结构:
8 生成自定义属性:
会生成:
其他标签和属性都类似。
9 对生成内容编号:
例如无序列表,我想为五个 li 增加一个 class 属性值 item1 ,然后依次递增从 1-5,那么就需要使用 $ 符号:
这样就生成了如下结构:
输出:
只能这样单调的生成序号?对于强大的 Emmet 来说,肯定不会了,我们也可以在
生成如下结构:
同样,我们也可以使用
这样就会从 3 开始排序,生成如下代码:
配合上面倒序输出,可以这样写:
生成的就是以 3 为底倒序:
10 生成文本内容:
上面讲解了如何生成 HTML 标签,那标签里面的内容呢?当然也可以生成了:
这样就生成了一个到我博客的超链接了。在生成内容的时候,特别要注意前后的符号关系,虽然单独使用
这样就生成了完全不同的结构,注意这些小细节哦。
而去掉空格之后,就可以正常执行生成结构了。
恭喜你看完了教程,那么你就值得知道下面的小技巧:
在sublime text 2的安装目录下的
转载请注明:时光本无罪 » 超高速前端开发工具——Emmet
旧文链接:http://blog.csdn.net/ys743276112/article/details/38133923
— 2016/07/29
本篇文章基于 Sublime Text 2 软件,Emmet 是其一个插件。
1 安装
在 Sublime Text 中按Ctrl+Shift+p快捷键或在菜单-工具中打开“命令面板”,输入:
Install Package(安装扩展)后回车,弹出新的窗口,再输入Emmet查找“Emmet”确定安装,等到自动打开一个文档,说明安装成功。
2 语法
1 生成 HTML 文档初始结构
HTML 文档的初始结构,就是包括 doctype、html、head、body 以及 meta 等内容。你只需要输入一个!就可以生成一个 HTML5 的标准文档初始结构,你没有看错,输入一个感叹号(当然是英文符号),然后摁下
TAB键,就会发现生成了下面的结构:
<!doctype html> <html lang=”en”> <head> <meta charset=”UTF-8″> <title>Document</title> </head> <body> </body> </html>
这就是一个 HTML5 的标准结构,也是默认的 HTML 结构。如果你想生成 HTML4 的过渡型结构,那么输入指令
html:xt即可生成如下结构:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“> <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en”> <head> <meta http-equiv=”Content-Type” content=”text/html;charset=UTF-8″> <title>Document</title> </head> <body> </body> </html>
Emmet 会自动把 doctype 给你补全了,怎么样,这样的功能会不会让你动心?简单总结一下常用的 HTML 结构指令:
html:5或者
!生成 HTML5 结构
html:xt生成 HTML4 过渡型
html:4s生成 HTML4 严格型
2 生成带有 id
、class
的 HTML 标签
Emmet 的语法有点类似 CSS的语法,生成 ==id 为 aaa 的 div 标签==,我们只需要编写下面指令:
#aaa
Emmet 默认的标签为
div,如果我们不给出标签名称的话,默认就生成
div标签。如果编写一个
class为
bbb的
span标签,我们需要编写下面指令:
span.bbb
然后就生成了对应的结构。同理,如果想要编写一个 ==id 为 ccc 的 class 为 ddd 的 ul 标签==,我们可以这样写:
ul#ccc.ddd
很简单吧?比你用手写 id 、class 方便多了吧
3 生成后代(子标签):>
大于号表示后面要生成的内容是当前标签的后代,即子标签。例如我要==生成一个无序列表,而且被 class 为 aaa 的 div 包裹==,那么可以使用下面指令:div.aaa>ul>li
可以生成如下的结构:
<div> <ul> <li></li> </ul> </div>
4 生成兄弟:+
上面是生成下级元素,如果想要==生成平级的元素==,就需要使用 +号。例如下面指令:
div+p+bq
就可以生成如下的 HTML 结构:
<div></div> <p></p> <blockquote></blockquote>
5 生成上级元素:^
上级 (Climb-up)元素是什么意思呢?前面咱们说过了生成下级元素的符号
>,当使用
div>ul>li的指令之后,再继续写下去,那么后续内容都是在
li下级的。如果我想编写一个==跟 ul 平级的 span 标签==,那么我需要先用
^提升一下层次。例如:
div>ul>li^span
就会生成如下结构:
<div> <ul> <li></li> </ul> <span></span> </div>
如果我想==相对于 div 生成一个平级元素==,那么就再上升一个层次,多用一个
^符号:
div>ul>li^^span
6 重复生成多份:*
特别对于一个无序列表,ul下面的
li肯定不只是一个,通常要生成很多个
li标签。那么我们可以直接在
li后面
*上一些数字:
ul>li*5
这样就直接生成五个项目的无序列表了。
<ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>
如果想要生成多份其他结构,方法类似。
7 生成分组:()
用括号进行分组,这样可以更加明确要生成的结构,特别是层次关系,例如:div>(header>ul>li*2>a)+footer>p
这样很明显就可以看出层次关系和并列关系,生成如下结构:
<div> <header> <ul> <li><a href=””></a></li> <li><a href=””></a></li> </ul> </header> <footer> <p></p> </footer> </div>
此外,分组还可以很方便的结合上面说的 “*” 符号生成重复结构:
(div>dl>(dt+dd)*3)+footer>p
生成结构:
<div> <dl> <dt></dt> <dd></dd> <dt></dt> <dd></dd> <dt></dt> <dd></dd> </dl> </div> <footer> <p></p> </footer>
8 生成自定义属性:[attr]
a标签中往往需要附带
href属性和
title属性,如果我们想生成一个
href为
http://www.sinlesstime.com,
title为“时光无罪”的
a标签,可以这样写:
a[href="http://www.sinlesstime.com" title="时光无罪"]
会生成:
<a href="http://www.sinlesstime.com" title="时光无罪"></a>
其他标签和属性都类似。
9 对生成内容编号:###
例如无序列表,我想为五个 li 增加一个 class 属性值 item1 ,然后依次递增从 1-5,那么就需要使用 $ 符号:ul>li.item$*5
这样就生成了如下结构:
<ul> <li class=”item1″></li> <li class=”item2″></li> <li class=”item3″></li> <li class=”item4″></li> <li class=”item5″></li> </ul>
$就表示一位数字,只出现一个的话,就从1开始。如果出现多个,就从0开始。如果我想生成三位数的序号,那么要写三个
$:
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>
只能这样单调的生成序号?对于强大的 Emmet 来说,肯定不会了,我们也可以在
$后面增加
@-来实现倒序排列:
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>
同样,我们也可以使用
@N指定开始的序号:
ul>li.item$@3*5
这样就会从 3 开始排序,生成如下代码:
<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
生成的就是以 3 为底倒序:
<ul> <li class=”item7″></li> <li class=”item6″></li> <li class=”item5″></li> <li class=”item4″></li> <li class=”item3″></li> </ul>
10 生成文本内容:{}
上面讲解了如何生成 HTML 标签,那标签里面的内容呢?当然也可以生成了:a[href="http://www.sinlesstime.com"]{点击这里到 时光无罪}
这样就生成了一个到我博客的超链接了。在生成内容的时候,特别要注意前后的符号关系,虽然单独使用
a>{Click me}和
a{Click me}生成的结构是相同的,但是加上其他的内容就不一定了,例如:
<!–- a{click}+b{here} -–> <a href=””>click</a><b>here</b> <!–- a>{click}+b{here} –-> <a href=””>click<b>here</b></a>
这样就生成了完全不同的结构,注意这些小细节哦。
3 不要有空格
在写指令的时候,你可能为了代码的可读性,使用一些空格什么的排版一下。这就会导致代码无法使用。例如下面这句:(header > ul.nav > li*5) + footer
而去掉空格之后,就可以正常执行生成结构了。
恭喜你看完了教程,那么你就值得知道下面的小技巧:
在sublime text 2的安装目录下的
Data\Packages\Emmet\emmet中的snippets.json文件中,修改第三行的
"lang": "en",为
"lang": "zh-CN",这样每次自动生成的
html5的时候语言就成
zh-CN,不用每次都修改
html代码了!
转载请注明:时光本无罪 » 超高速前端开发工具——Emmet
相关文章推荐
- 超高速前端开发工具——Emmet
- 超高速前端开发工具——Emmet
- 超高速前端开发工具——Emmet
- 【雏鹰计划】前端开发工具--Sublime Text3和Emmet
- Emmet介绍 -- 前端开发工具(前身 Zen Coding)
- 前端开发桌面终极工具(FastStone Capture)推荐(转)
- [Share]前端开发大众手册(包括工具、网址、经验等)
- 前端开发 IE 中的常用调试工具
- [CSS]Web前端开发之CSS工具列表 (转)
- 前端开发大众手册(包括工具、网址、经验等)
- WEB网页设计前端(前台)开发的常用工具推荐
- 前端开发知识库工具之网文快捕
- 前端开发大众手册(包括工具、网址、经验等)
- Web前端开发之CSS工具列表(经典)
- 前端开发的常用工具
- 前端开发的常用工具一览
- 前端开发IE中的常用调试工具
- WEB前端开发工具--整理
- 前端开发的常用工具一览