Emmet前端开发神器
来源:互联网 发布:macbook不能下载软件 编辑:程序博客网 时间:2024/05/17 05:01
前端开发神器Emmet
1-1 简介
Emmet是专门给前端开发人员准备的一个快捷开发工具,是从原来的ZenCoding发展而来的,原来的意思是代码压缩输出,通过极少的代码,来快速生成包含大量代码的模板。
下面看一个简单的案例,在编辑工具中编写如下代码
#page>div.logo+ul#nav>li*5>a{导航菜单$}
然后按下tab键,你会发现,神奇的变化出现了,编辑工具中代码变成了如下代码:
<div id=”page”>
<div class=”logo”>
<ul id=”nav”>
<li>导航菜单1</li>
<li>导航菜单2</li>
<li>导航菜单3</li>
<li>导航菜单4</li>
<li>导航菜单5</li>
</ul>
</div>
</div>
怎么样,现在看到ZenCoding,或者说Emmet要做的事情有多么的神奇了吧?!
1-2 IDE工具中使用Emmet
首先,Emmet作为一个高速提升前端开发效率的工具,已经被很多的IDE工具支持了,诸如当前流行的一些工具如Dreamweaver、HBuilder、WebStrom等等,这些工具中直接使用Emmet语法就可以实现代码的快速编辑了。
同样的,在我们进行维护的过程中,使用的工具并不是前面提到的半自动化的工具,而是超级记事本如Editplus、Ultraedit、Sublime等等,对于这样的工具,都有各自的插件已经提供了对Emmet的支持,如sublime中可以通过package install来搜索安装Emmet插件,安装完成后就可以直接在sublime中使用emmet语法快速编辑代码了!
1-3 Emmet语法之HTML操作
这里直接上干货,相信开始关注emmet的程序员,已经是比较专业的前端开发人员了。
SO,废话不说了。
1-3-1 快速生成标签
书写标签名称,然后按下tab键即可完成一个标签的输入
div
<div></div>
1-3-2 标签id,class属性
书写标签名称,在标签后面使用符号“#”来指定标签的id名称,使用符号“.”来指定标签的class属性名称,是不是和css语法有点类似呢?Bingo!
div#logo
<div id=”logo”></div>
div.nav
<div class=”nav”></div>
div#box.detail
<div id=”box” class=”detail”></div>
1-3-3 标签其他属性操作
书写标签名称,在标签的后面,添加一堆方括号,在方括号中添加属性的名称和属性值,就可以对标签的属性内容进行指定了。
img[src=”imgs/bg.png”]
<img src=”imgs/bg.png”/>
1-3-4 标签内容操作
书写标签名称,在标签的后面,添加一对大括号“{}”,在大括号的内部添加内容,然后按下tab键,就可以在生成的标签中间添加指定的内容
div{this is content}
<div>this is content</div>
1-3-5 生成多个标签
书写标签名称,在标签的后面,紧跟符号“*”,然后写上要输出的整数数量,就可以让某个指定的标签同时出现多个,同时可以通过符号“$”对内容进行编号
div{test$ content$$}*5
<div>test1 content01</div>
<div>test2 content02</div>
<div>test3 content03</div>
<div>test4 content04</div>
<div>test5 content05</div>
同时可以在$符号后面紧跟一个符号@,用于指定编号的起始数字和排列顺序
div{item$@3}*3
<div>item3</div>
<div>item4</div>
<div>item5</div>
div{item$@-5}*3
<div>item7</div>
<div>item6</div>
<div>item5</div>
1-3-6 生成父子标签
书写父标签名称,然后紧跟符号“>”,后面写子标签名称,就可以自动转换成父子标签
ul>li{item$}*3
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
1-3-7 生成同级标签
书写标签,然后紧跟符号“+”,后面写同级别的其他标签,就可以自动转换成同级别标签
div{test}+p{p content}
<div>test</div>
<p>p content</p>
1-3-8 生成父级同级标签
书写标签名称,在其子标签的后面,添加符号“^”,继续编写其他的标签,此时在“^”后面生成的标签,是和父级标签同级别的标签
div>a[href=”http://www.baidu.com”]{BAIDU}^div{description info}
<div>
<a href=”http://www.baidu.com”>BAIDU</a>
</div>
<div>
description info
</div>
1-3-9 通过分组简化Emmet语法
一旦涉及到一次输出父子标签,同时父级标签还有同级标签的情况下,会比较麻烦,可以通过添加圆括号“()”进行标签分组来简化Emmet语法结构,参考代码如下:
(div>a[href=”http://www.baidu.com”])+(div{description info})
<div>
<a href=”http://www.baidu.com”>BAIDU</a>
</div>
<div>
description info
</div>
使用分组能极大程度的简化Emmet复杂的语法结构,如下案例:
# 不使用分组编写的一段Emmet语法
header>ul#nav>li*5>a[href="#"]{menu$}^^^div#container{body content}^footer>ul>li*10>a{friend links}
# 使用分组编写的一段Emmet语法
(header>ul#nav>li*5>a[href="#"]{menu$})+(div#container{body content})+(footer>ul>li*10>a{friend links})
注意观察,可以看到分组的语法,会相对来说更加切合我们的思路,最终生成的代码如下
同样的,我们可以看到Emmet给我们带来了多大的便利!
<header>
<ul id="nav">
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
</ul>
</header>
<div id="container">body content</div>
<footer>
<ul>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
<li><a href="">friend links</a></li>
</ul>
</footer>
1-4 Emmet语法之CSS操作
Emmet同时对CSS也进行了代码压缩输出,在一定程度上简化了CSS语法的繁琐程度,但是样式操作根据个人开发习惯可以适当使用,毕竟样式的操作在一定程度上调整的频率较大
1-4-1 简写CSS属性
通过简写属性名称和属性值,完成代码的快捷输出,如:
w100
width:100px;
w100p
width:100%;
w100r
width:100rem;
h100
height:100px;
h100p
height:100%;
h100r
height:100rem;
bd10
border:10px;
bg#0
background:#000;
bgc#20
background-color:#202020
bgi
backgoround-image:url()
fsi
font-style: italic;
fz16
font-size:16px;
fw100
font-weight:100;
bd5#8s
border:5px #888 solid;
bdrs5
border-radius:5px;
bdl2
boder-left:2px;
1-4-2 简写多个属性
某些情况下,我们会简写样式语法,如margin值,会控制上、右、下、左各个方向的外边距数据,此时,通过中划线”-”来拆分多个数据
mg10-20-30-40
margin:10px 20px 30px 40px;
1-4-3 一次生成多条语句
如果我们对样式已经非常熟悉了,可以通过Emmet语法来一次性生成多条样式语句,通过符号“+”来连接。
h10p+m5e
height:10%;margin:5em;
1-4-4 颜色操作
颜色数据在Emmet中主要通过16进制的方式进行处理,简要语法如下
bd5#0s
border:5px #000 solid;
规则方式
#0
#000;
#80
#808080;
#fc0
#ffcc00;
1-4-5 扩展选项
CSS3标准中增加了很多新的语法格式,如字体设置@font-face
通过@f可以生成简单结构
通过@f+可以生成比较完整的结构
@f
@font-face{
font-family:;
src:url();
}
@f+
@font-face {
font-family: 'FontName';
src: url('FileName.eot');
src: url('FileName.eot?#iefix') format('embedded-opentype'),
url('FileName.woff') format('woff'),
url('FileName.ttf') format('truetype'),
url('FileName.svg#FontName') format('svg');
font-style: normal;
font-weight: normal;
}
</style>
</head>
<body>
<div>item3</div>
<div>item4</div>
1-4-6 浏览器兼容性前缀
在样式属性的前面,增加一个符号“-”,可以生成支持不同浏览器的样式属性
-transform
-webkit-transform: ;
-ms-transform: ;
-o-transform: ;
transform: ;
-animation
-webkit-animation-timing-function: ease-in-out;
-o-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
1-4-7 渐变背景
CSS3中新增加了linear-gradient样式属性,可以直接制作渐变效果,这个效果参数较为复杂,而且需要添加不同浏览器的前缀操作。不过可以通过lg()来快速生成。
lg(left,#f 50% #0)
background-image: -webkit-linear-gradient(left, #f 50%);
background-image: -o-linear-gradient(left, #f 50%);
background-image: linear-gradient(to right, #f 50%);
- 前端开发神器:Emmet
- Emmet前端开发神器
- 前端开发神器sublime+emmet
- 前端开发神器 Emmet 介绍
- 前端开发神器 Emmet 介绍
- 前端开发神器 Emmet 介绍
- 前端开发神器emmet(zen coding) 语法
- Emmet基本使用方法前端神器
- 前端神器Emmet/zen coding---HTML速写
- 前端开发 - Emmet使用手册
- 破解版 Sublime text3破解版下载以及安装emmet插件,前端开发神器
- 前端开发必备!Emmet使用手册
- 前端开发必备!Emmet使用手册
- 前端开发必备!Emmet使用手册
- 前端开发必备!Emmet使用手册
- 前端开发必备!Emmet使用手册
- 前端开发必备!Emmet使用手册
- 前端开发必备!Emmet使用手册
- 在 YARN 上运行 Spark
- j2ee的web工程,为工程的java build path中配置jre,和为tomcat配置jre,原来是不一样的。
- fitnesse 系列2 一个简单的例子
- xls xlsx csv 导出datatable
- SVN 简单解决 database disk image is malformed 故障
- Emmet前端开发神器
- java中静态代码块的用法 static用法详解
- SpringMVC @RequestBody接收Json对象字符串 例子
- LeetCode 257 Bianry Tree Paths(二叉树路径保存)
- Zabbix系列之Zabbix安装搭建及汉化
- PyCharm使用技巧:Regex Tester(正则表达式测试工具)
- intellij idea 取消右侧中线
- pypy确实要比我们平时用的python快
- 百炼:4080:Huffman编码树