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. cocos2dx渲染架构

    2dx的时代UI树便利和渲染是没有分开的,遍历UI树的时候就渲染.3dx版本为了分离了ui树的遍历和渲染,先遍历生成渲染命令发到渲染队列,之后遍历渲染命令队列开始渲染.这样做的好处是渲染命令可以重用, ...

  2. http-cache浏览器缓存

    摘至知乎 首先得明确 http 缓存的好处 减少了冗余的数据传输,减少网费 减少服务器端的压力 Web 缓存能够减少延迟与网络阻塞,进而减少显示某个资源所用的时间 加快客户端加载网页的速度 常见 ht ...

  3. LeetCode-765.情侣牵手

    N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 到 2N-1 的整 ...

  4. CryptoZombies学习笔记——Lesson2

    第二课是僵尸猎食,将把app变得更像一个游戏,添加多人模式,建立更多创造僵尸的方法. chapter1 依然是简介 chapter2:映射和地址 映射相当于一个索引,指向不同地址,不同地址存储的数据不 ...

  5. mongodb lock 出毛病时解决方法

    错误信息: Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 解决办法: sudo r ...

  6. CSAPP lab2 二进制拆弹 binary bombs phase_2

    给出对应于7个阶段的7篇博客 phase_1  https://www.cnblogs.com/wkfvawl/p/10632044.htmlphase_2  https://www.cnblogs. ...

  7. SCRUM 12.03

    第二轮迭代从今天起正式开始了.12月3日,我们举行了一次组会. 第一轮迭代结束时,我们意识到第二轮迭代需要实现的功能主要如下: 在下次迭代的时候实现对多个网站的信息进行比较取最优惠的选择,目前我们劲针 ...

  8. Linux内核分析(第四周)

    扒开系统调用的三层皮(上) 一.用户态.内核态.中断 (上周课件有学习到) 1.地址空间是一个显著的标志(是逻辑地址,不是物理地址) 2.CPU每条指令的读取都是通过cs:eip这两个寄存器:0xc0 ...

  9. Day Ten

    站立式会议 站立式会议内容总结 331 今天:话题单选对话框 遇到问题:无 442 今天:数据库交互,解决timepicker问题 遇到的问题:无 439 今天:测试模块功能 遇到问题:无 会议照片 ...

  10. Apache DBUtils框架 结果处理器

    package com.itheima.dbutil; import java.util.List; import java.util.Map; import org.apache.commons.d ...