[转]Emmet 生成 HTML 的语法
在上篇文章前端开发神器 Emmet 介绍中,我简单的介绍了一下 Emmet ,并且用了一句指令迅速生成了一大片 HTML 代码。本文,就会介绍 Emmet 的 HTML 语法,看完之后,你就会看懂并且写出那句代码了。
现在,打开你的 ST2 然后新建一个 HTML 文档,跟着文章,即时输入对应的指令然后亲自尝试一下!
生成 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 严格型
生成带有 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 方便多了吧
生成后代:>
大于号表示后面要生成的内容是当前标签的后代。例如我要生成一个无序列表,而且被 class 为 aaa 的 div 包裹,那么可以使用下面指令:
div.aaa>ul>li
可以生成如下的结构:
<div><ul><li></li></ul> </div>
生成兄弟:+
上面是生成下级元素,如果想要生成平级的元素,就需要使用 + 号。例如下面指令:
div+p+bq
就可以生成如下的 HTML 结构:
<div></div>
<p></p>
<blockquote></blockquote>
生成上级元素:^
上级 (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
重复生成多份:*
特别是一个无序列表,ul 下面的 li 肯定不只是一份,通常要生成很多个 li 标签。那么我们可以直接在 li 后面 * 上一些数字:
ul>li*5
这样就直接生成五个项目的无序列表了。如果想要生成多份其他结构,方法类似。
生成分组:()
用括号进行分组,这样可以更加明确要生成的结构,特别是层次关系,例如:
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>
生成自定义属性:[attr]
a 标签中往往需要附带 href 属性和 title 属性,如果我们想生成一个 href 为 “http://www.qianxingzhem.com” ,title 为“潜行者m 博客”的 a 标签,可以这样写:
a[href="http://www.qianxingzhem.com" title="潜行者m 博客"]
其他标签和属性都类似。
对生成内容编号:$
例如无序列表,我想为五个个 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>
生成文本内容:{}
上面讲解了如何生成 HTML 标签,那里面的内容呢?当然也可以生成了:
a[href="http://www.qianxingzhem.com"]{点击这里到 潜行者m 的博客}
这样就生成了一个到我博客的超链接了。在生成内容的时候,特别要注意前后的符号关系,虽然 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>
这样就生成了完全不同的结构,注意这些小细节哦。
不要有空格
在写指令的时候,你可能为了代码的可读性,使用一些空格什么的排版一下。这就会导致代码无法使用。例如下面这句:
(header > ul.nav > li*5) + footer
而去掉空格之后,就可以正常执行生成结构了。HTML 语法部分说完了,现在回头看看第一篇文字,你是否已经看懂了那一串指令?下一篇将会讲解快速编写 CSS 的技巧。
原文
[转]Emmet 生成 HTML 的语法相关推荐
- 使用 Emmet 生成 HTML 的语法详解
生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype.html.head.body 以及 meta 等内容.你只需要输入一个 "!" 就可以生成一个 H ...
- 使用 Emmet 生成 HTML 的语法详解-转载
生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype.html.head.body 以及 meta 等内容.你只需要输入一个 "!" 就可以生成一个 H ...
- Emmet语法(快速生成HTML结构语法、快速生成CSS样式语法)
1. 快速生成HTML结构语法 生成标签直接输入标签名按tab键即可 比如div然后tab键,就可以生成<div></div> 如果想要生成多个相同标签加上*就可以了 ...
- 快速生成HTML结构语法(HTML、CSS)
快速生成HTML结构语法(HTML.CSS) <!DOCTYPE html> <html lang="en"> <head><meta c ...
- 快速生成CSS样式语法(HTML、CSS)
快速生成CSS样式语法(HTML.CSS) <!DOCTYPE html> <html lang="en"><head><meta cha ...
- Emmet插件的常用语法
本人使用的代码编辑工具是SublimeText,Emmet是一个代码的缩写插件,使用代码缩写快速完成代码编写,前提条件需要安装emmet插件,如下图,打开SublimeText 使用快捷键 Ctrl ...
- 【前端设计】SDC中生成时钟create_generated_clock语法解析
我们的目标是┏ (゜ω゜)=☞芯片前端全栈工程师~喵! 前言 好久没有写前端设计系列的博客了,这次因为要在系统里加入时钟分频器因此复习一下sdc中关于生成时钟的约束语法,以下内容来自<综合与时序 ...
- CSS基础(emmet 语法,CSS 复合选择器, 布局认知,背景样式)
CSS基础 1. emmet 语法 -- 开发效率 1.1 emmet 语法生成 html 标签 emmet 的特点和作用是什么? 通过简写提高编码效率. emmet 生成 HTML 结构语法 序号 ...
- 前端与移动开发-----CSS(emmet 语法+CSS 复合选择器+元素的显示模式)
css emmet 语法 -- 开发效率 emmet 的特点和作用:通过简写提高编码效率. emmet 生成 HTML 结构语法: emmet 语法快速生成 css 样式: 1,常用属性大多用英文单词 ...
最新文章
- 如何写一篇好的技术博客
- 春天来了,我也发“芽”了!
- 弹性服务器怎么上传文件,上传哪个文件夹弹性云服务器
- TensorFlow2-生成对抗网络
- 机器学习第八篇:详解逻辑斯蒂回归算法
- 链表node中保存的是什么_Redis源码解析一 --链表结构
- 解决 There are no resources that can be added or removed from the server
- malloc函数的使用以及内存泄露情况
- 为何python不好找工作-Python这么火,为何有人说Python不好找工作?
- python实验收获与反思 100字_期中考试总结与反思100字4篇
- 学校图书借阅管理系统
- web前端简易制作之HTML
- Django支付宝在线支付
- JS Module Revealing Module Pattern
- 世界上第一套电子表格软件 —— VisiCalc
- gitlab 企业级私有仓库搭建
- 新型的火灾报警系统设有多个设备联动的模式,其能够服务于智能化以及化的火灾报警
- Nature综述:Rob Knight手把手教你分析菌群数据(全文翻译1.8万字)
- H.264嵌入式视频监控系统项目指导
- PowerDNS - Realtime Update 的 DNS 伺服器介紹
热门文章
- JFFS2 notice: (332) jffs2_get_inode_nodes: Node header CRC failed at 0x1780784
- 小程序毕设作品之微信校园二手书交易小程序毕业设计成品(5)任务书
- Android AbsoluteLayout 绝对布局应用场景介绍
- 【M365运维】扩充OneDrive存储空间
- 5.2JVM生命周期以及类加载
- 从伽利略船舱到光子马拉松-破坏相对论的可能性及其后果
- 中国工商银行软件开发中心 暑期实习心得
- 图片水平垂直居中的几种方法总结
- github汉化注意事项(Chrome)
- Pjsip信令超时机制修改