HTML代码写起来很费事,因为它的标签多。

一种解决方法是采用模板,在别人写好的骨架内,填入自己的内容。还有一种很炫的方法----简写法。

常用的简写法,目前主要是Emmet和Haml两种。这两种简写法,功能相近,各有特点。考虑到Haml基于Ruby语言,建议Ruby/Rails项目使用Haml,其他项目使用Emmet。

本文主要介绍Emmet。

本人使用的编辑器是sublime text,下面就以sublime text举例。

一、安装Emmet插件:

1.安装Package Control组件(之前若安装过,此步骤可以省略)

按Ctrl+`调出console

粘贴以下代码到底部命令行并回车:

import urllib2,os;pf='PackageControl.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)if not os.path.exists(ipp) else None;open(os.path.join

(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace('','%20')).read())

重启SublimeText 2。

如果在Perferences->packagesettings中看到packagecontrol这一项,则安装成功。

如果这种方法不能安装成功,可以到这里下载文件手动安装:http://wbond.net/sublime_packages/package_control/installation。

2、安装Emmet插件:

按下Ctrl+Shift+P调出命令面板

输入install调出 Install Package 选项并回车,然后在列表中选中Emmet,或直接输入Emmet。

安装成功后,重启Sublime Text 2。

二、Emmet的用法

新建一个文本文件,键入

  html:5

按一下"Ctr+E",这一行就立刻变成下面的样子。

  <!DOCTYPEhtml>

  <html>

  <head>

    <metacharset="UTF-8">

    <title></title>

  </head>

  <body>

  </body>

  </html>

这就是Emmet的基本用法:先写简写形式,然后用"Ctr+E"将其转成HTML代码。

Emmet支持的简写规则,类似于CSS选择器(大写的E代表一个HTML标签):

  1. E 代表HTML标签。

  2.E#id 代表id属性。

  3.E.class 代表class属性。

  4.E[attr=foo] 代表某一个特定属性。

  5.E{foo} 代表标签包含的内容是foo。

  6.E>N 代表N是E的子元素。

  7.E+N 代表N是E的同级元素。

  8.E^N 代表N是E的上级元素。

请看下面的例子。

  p

  p#main.item

  a[href=http://daybook.diandian.com/]{水牛儿}

  div>p

  div+p

  p>span^div

对应的HTML代码为:

  <p></p>

  <p id="main" class="item"></p>

  <a href="http://daybook.diandian.com/">水牛儿</a>

  <div>

    <p></p>

  </div>

  <div></div>

  <p></p>

  <p><span></span></p>

  <div></div>

Emmet还提供了连写(E*N)和自动编号(E$*N)功能。

  li*3>a

  div#item$.class$$*3

对应的HTML代码为

  <li><a href=""></a></li>

  <li><a href=""></a></li>

  <li><a href=""></a></li>

  <div id="item1" class="class01"></div>

  <div id="item2" class="class02"></div>

  <div id="item3" class="class03"></div>

参考资料:

http://www.ruanyifeng.com/blog/2013/06/emmet_and_haml.html

http://www.qianduan.net/essential-to-sublime-the-text-2-plugins.html

工欲善其事必先利其器,用Emmet提高HTML编写速度的更多相关文章

  1. CSS 常用样式 提高网页编写速度

    *{margin:0px;padding:0px;}/*内外边距初始化*/html, body, div, h1, h2, h3, h4, h5, h6, p, span, img, input, t ...

  2. 古语云:工欲善其事必先利其器 --> 最新、最全的 IntelliJ IDEA(2018.3.3) 的介绍、安装、破解、配置与使用

    原文:古语云:工欲善其事必先利其器 --> 最新.最全的 IntelliJ IDEA(2018.3.3) 的介绍.安装.破解.配置与使用 一.IntelliJ IDEA 介绍 -> Ecl ...

  3. Web前段优化,提高加载速度 css

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个"Duang"的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒, ...

  4. VsCode中使用Emmet神器快速编写HTML代码

    一.Emmet简述 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具. 在前端开发的过程中,一大部分的工作是写 HTML.CSS 代码.特别是手动编写 HTML ...

  5. 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度。

    巧用linux服务器的/dev/shm/ 巧用linux服务器的/dev/shm/,如果合理使用,可以避开磁盘IO不给力,提高网站访问速度. 首先让我们认识一下,什么是tmpfs和/dev/shm/? ...

  6. 【转】提高VR渲染速度的关键

    提高VR渲染速度的关键,这个教程比以往的教程都要重要很多,如果你是刚刚步入学习和上升阶段那么这将是你必须要看的东西,他会让你迅速提升技能达到比你死看书本好很多的效果,不多说上教程   VR的基本渲染方 ...

  7. 转:【工欲善其事必先利其器】—Entity Framework实例详解

    开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...

  8. 利用curl并发来提高页面访问速度

    在我们平时的程序中难免出现同时访问几个接口的情况,平时我们用curl进行访问的时候,一般都是单个.顺序访问,假如有3个接口,每个接口耗时500毫 秒那么我们三个接口就要花费1500毫秒了,这个问题太头 ...

  9. 【转】怎样提高VR渲染速度

    怎样提高VR渲染速度分析!<经验之谈>!!!VR的基本渲染方法掌握起来并不难,但是最迫切需要解决的问题是VR的出图速度问题.动则需要数小时的渲染时间真的是很难以接受,我们从三个影响速度的参 ...

随机推荐

  1. ConceptVector: Text Visual Analytics via Interactive Lexicon Building using Word Embedding

      论文简介 本文是对词嵌入的一种应用,用户可以根据自己的需要创建concept,系统根据用户提供的seed word推荐其他词汇,以帮助用户更高的构建自己的concept.同时用户可以利用自己创建的 ...

  2. 关于最近996.icu的一点感想

    最近这个996.ICU的话题讨论的火热,特别是一些业界大佬有直言不讳的说就是要996,有的弄些鸡汤文把996说成年轻人就该这样的.作为一个普通的码农,实在是看不下去了,在这里说些自己的看法,希望年轻人 ...

  3. idou老师教你学istio :基于角色的访问控制

    istio的授权功能,也称为基于角色的访问控制(RBAC),它为istio服务网格中的服务提供命名空间级别.服务级别和方法级别的访问控制.基于角色的访问控制具有简单易用.灵活和高性能等特性.本文介绍如 ...

  4. C++ 多态Polymorphism 介绍+动态绑定、静态绑定

    什么是多态? 多态(polymorphism)一词最初来源于希腊语polumorphos,含义是一种物质的多种形态. 在专业术语中,多态是一种运行时绑定机制(run-time binding) ,通过 ...

  5. Linux内核分析(第五周)

    系统调用的三层皮(下) 一.给MenuOs增加time和time-asm命令 ls rm menu -rf git clone xx(克隆新版本) cd menu make rootfs(自动编译生成 ...

  6. 小组成员及其git链接

    组名:天天向上 Github仓库:https://github.com/lvcaixia/test 组长:吕彩霞 201303014109(计科高职13-3) 第一题   https://github ...

  7. Java的三大特性:封装、继承、多态

    一.类的概念: 类一般包括两个部分:属性(成员变量)和方法(成员方法)方法组成部分:修饰符(可选) 返回值类型(必须) 方法名(必须)参数列表(可选) package com.classTest.pr ...

  8. Alpha 答辩总结

    前言 作业发布 组长 成员 贡献比例 ★ 530 雨勤 23% 311 旭 23% 403 俊 18% 223 元 23% 437 海辉 13% 10天 Alpha 冲刺站立会议博客链接汇总 Alph ...

  9. HDU 2097 Sky数

    http://acm.hdu.edu.cn/showproblem.php?pid=2097 Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会, ...

  10. Docker(二十三)-Docker使用pipework配置本地网络

    需求 在使用Docker的过程中,有时候我们会有将Docker容器配置到和主机同一网段的需求.要实现这个需求,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了. 下 ...