早在2009年,谢尔盖Chikuyonok写了一篇文章,提出了一种新的编写HTML和CSS代码的方式。这一革命性的插件,被称为zen coding,多年来已帮助许多开发人员,现在已达到一个新的水平。

Emmet,以前被称为zen coding,或许是你见过的最有效率和节省时间的文本编辑器插件。Emmet通过简单的缩写瞬间扩大到复杂的代码片段,可以把你变成一个更高效的开发者。

这里是我总结的最喜欢的技巧,献给那些喜欢阅读的朋友。

它是如何工作的?

让我们面对它:编写HTML代码需要一定的时间,所有这些标签、属性、引号、括号等等,当然,大多数文本编辑器的代码都可以实现的,有很大帮助,但你还是做了很多的打字。Emmet瞬间将复杂的代码片段扩展到简单的缩写。

HTML缩略语

初始化

创建一个新的HTML文档只需要不到一秒钟。只需键入!或HTML 5,按“tab键”展开编辑器的一些标签,你会看到一个HTML5 doctype。

html:5 或者 ! 创建一个html5文档

html:xt 创建xhtml transitional文档

html:4s 创建 HTML4 strict doctype

轻松添加class,标识,文本和属性

因为Emmet用于描述元素的语法类似CSS选择器,使用它是很容易的。尝试混合元素的名称(如p)的标识符(例如p#description)。

此外,您还可以结合类和ID。例如p.bar#foo输出:

现在,让我们来看看如何定义你的HTML元素的内容和属性。使用花括号内表示其内容,H1 {foo}会产生这样的:

用方括号表示其属性。所以a[href=#] 输出

嵌套

通过嵌套的缩写,你可以只使用一行代码建立一个整个页面。>表示嵌套在前面元素的内部。同级兄弟元素用+表示,^表示返回树结构的上一个级别,使后面的元素与上一个级别同级。

分组

为了有效地利用嵌套并且不让它们变成一个乱七八糟的编码结构,你就需要组合一些代码片段。这就像数学-你只需要使用括号围绕若干幅。例如,(FOO> H1)+(foo> H2)将输出:

隐式标签名称

在过去,要输出一类的标签,只需键入div.item,那么就会产生如下图片的效果。Emmet只需输入.item即可生成,你可以省略一个div标记名称,Emmet更加智能化。它可以用父标签名称每次展开一个隐含的名称缩写。

乘法

您可以使用*运算符定义元素应该被输出多少次。因此,UL> LI * 3会产生:

编号

混合乘法功能与一些项目编号是什么?只要将操作元素的名称,属性名称或属性的值输出目前重复的元素的数量。如果你写输入ul> li.item的$ * 3,将输出:

Emmet HTML缩写在线测试工具-(Zen coding),按tab键执行

CSS缩写

Emmet不仅仅用于HTML元素缩写编码,CSS缩写可以直接输入值,比方你要定义的宽度只需输入W100,它会产生:width: 100px;

像素不是唯一提供的单位。尝试运行h10p + M5E,它会输出:height:10%;margin:5em;

这里列出几个单位缩写:p →% e→EM x→EX

额外的操作

你已经知道@f,从而产生许多直观的缩写,如:

@ font-face {font-family: ;SRC:url();}

一些属性-如background-image,border-radius,font,@ font-face,text-outline,text-shadow -有一些额外的选项,你可以使用“ +“号激活。例如,@ 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;

}

模糊搜索

Emmet CSS模块使用模糊搜索找到未知的缩写。所以,每次你输入一个未知的缩写,Emmet会试图找到最接近的片段定义。例如,OV:h 和OV-H和OVH和OH都是会输出相同的结果:overflow:hidden; 但是请大家务必以标准缩写为规范你的编码。

浏览器兼容前缀

CSS3很强大,但我们编入所有的这些浏览器供应商前缀是一个真正的痛苦。现在不会了Emmet解决了这个问题。例如,trs缩写将扩大到:

-webkit-transform: ; -MOZ-transform: ; -MS--transform: ; -o-transform: ; -transform: ;

您还可以添加到任何一种元素的前缀。你只需要使用-前缀标识。所以,-super-foo 将扩大到:

-webkit-super-foo: ; -moz-super-foo: ;等

如果你不希望输出所有这些前缀呢?没问题。您可以定义支持哪些浏览器。例如,-wm-trf将输出:

-webkit-transform: ; -MOZ-transform: ; -transform: ;

Emmet浏览器前缀缩写 w 输出 -webkit- m → -moz- s → -ms- o → -O-

渐变

说起恼人的CSS3特性,我们不能忘记梯度。那些长期用不同的符号定义现在可以很容易地更换为简洁的缩写。如lg(left,#FFF 50%,#000) ,并输出将是:

参考上面的gif图片,测试下Emmet CSS缩写吧,Tab键确认输出。(zen coding在线测试工具)

附加功能 :请参见原文地址:http://coding.smashingmagazine.com/2013/03/26/goodbye-zen-coding-hello-emmet/#more-125747

本文由红蜘蛛网络联盟(www.rswebun.com)编译。

Zen Coding改名Emmet-功能更智能化的更多相关文章

  1. zen coding和emmet

    zen coding 改名为 emmet http://emmet.io/download/

  2. 再说vundle: 完全vim字符编程的四个必须插件 - zen coding 和emmet插件的使用

    一个常识: 基本上vim插件的配置文集都是放在对应插件目录 的/autoload/ plugin_name.vim 文件中的 有四个必要/必须的插件,实现vim完全的字符界面的编程: NERDTree ...

  3. vim 中 也可以 直接安装 emmet 直接使用zen coding 生成 l指定个数的 lorem ipsum文字.

    超链接的写法: 当作为链接的文字, 比较长时, 整个作为链接 就显得不是 很适合. 可以取其中的某一个单词 作为 超链接的 关键字:如: click here to continue emmet中如何 ...

  4. 使用Emmet(前身Zen Coding)加速Web前端开发

    Emmet插件以前被称作为Zen Coding,是一个文本编辑器的插件,它可以帮助您快速编写HTML和CSS代码,从而加速Web前端开发.早在2009年,Sergey Chikuyonok写过一篇文章 ...

  5. Emmet(前身是zen coding)介绍和使用

    Zen coding - 一种快速编写HTML/CSS代码的方法.它使用仿CSS选择器的语法来快速开发HTML和CSS - 由Sergey Chikuyonok开发. 现在它改名为了Emmet,并且搭 ...

  6. Sublime Text2安装emmet(原名Zen Coding)总结

    首先,安装好Sublime( 我用的是版本号2),之后注冊好.Sublime Text2.0.2注冊码:http://xionggang163.blog.163.com/blog/static/376 ...

  7. Web开发人员必备工具-Emmet (Zen Coding)

    如果你从事前端开发或者web开发的话,一定听说过Zen coding - 一种快速编写HTML/CSS代码的方法.它使用仿CSS选择器的语法来快速开发HTML和CSS - 由Sergey Chikuy ...

  8. sublime + emmet(Zen Coding)

    今天接触sublime这个编辑器,一下子就喜欢上它了,以前我一直使用NOTEPAD++,果断换上sublime玩玩,呵呵 编辑功能啥的没话,作为前端开发的话,和emmet(原名叫Zen Coding) ...

  9. Notepad++ 安装 Zen Coding / Emmet 插件

    Zen Coding 插件 ============== 下载: Zen.Coding-Notepad++.v0.7.zip ==Installation== 1. Copy contents of ...

随机推荐

  1. Ansible 小手册系列 九(Playbook)

    playbook是由一个或多个"play"组成的列表.play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲所谓task无非 ...

  2. C++高级编程2. 静态动态链接库

    C++高级编程2. 静态动态链接库20131018 1.动态链接库和静态链接库的区别: 静态链接库就是把lib文件中用到的函数代码直接连接进目标程序,程序运行的时候不在需要其他的库文件:动态链接库是把 ...

  3. 在 Bash on Ubuntu 上安装Nginx

    前言 Win10 上的 Bash on Ubuntu 是个很好用的玩具,让windows开发环境下的人能无缝操练Linux,但是涉及到网络部分还是有很多要该进的地方,比如Nginx的安装就遇到了问题. ...

  4. CF911A

    题解: 先按照a大小排序(要双关键字) 然后和a[1]一样的按照b减一减,取最小 代码: #include<bits/stdc++.h> using namespace std; ; in ...

  5. java根据所给的根目录获取底下所有文件夹结构

    所写工具类背景:项目经理叫我写个工具类实现:给个项目的根目录分析java文件及jsp文件.记录文件类型.路径.文件名和包名. 定义的实体类(这里我用了easypoi以后方便写入excel文档) @Da ...

  6. linux安装mysql5.7.24

    一.卸载 mysql安装有三种方式,包括二进制包安装(Using Generic Binaries).RPM包安装.源码安装.一般是前两种比较多 卸载方法参考Linux->卸载Mysql方法总结 ...

  7. C++以多态方式处理数组可能会遇到的问题

    今天读<More Effective C++>时遇到一个条款:绝对不要以多态方式处理数组.以前自己也没有注意过,觉得有必要记录下来. C++是允许通过base class的指针或引用来操作 ...

  8. mac下初始化eclipse的安卓开发ndk开发环境

    最近电脑由windows换成mac了,很多环境都要重新搭建,顺便纪录下,方便以后查阅. 1.先到eclipse官网下载最新版eclipse,我下载的是neon版,下载后直接解压到即可使用(前提是你安装 ...

  9. RESTful设计方法

    REST REST,即Representational State Transfer的缩写.维基百科称其为“具象状态传输”,国内大部分人理解为“表现层状态转化”. RESTful是一种开发理念.维基百 ...

  10. RHCS高可用集群配置(luci+ricci+fence)

    一.什么是RHCS    RHCS是Red Hat Cluster Suite的缩写,也就是红帽集群套件,RHCS是一个能够提供高可用性.高可靠性.负载均衡.存储共享且经济廉价的集群工具集合,它将集群 ...