sublime Emmet的用法及相关语法

本节来讲一下Emmet插件的用法及相关语法。

Emmet插件极大的提高了编程员的编程速度,下面我们来讲讲它的具体语法:

一、生成 HTML 文档初始结构

HTML 文档的初始结构,就是包括 doctype、html、head、body 以及 meta 等内容。你只需要输入一个 “!” 就可以生成一个 HTML5 的标准文档初始结构,你没有看错,输入一个感叹号(当然是英文符号),然后摁下 ctrl+E 键,就会发现生成了下面的结构:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

</body>
</html>

这就是一个 HTML5 的标准结构,也是默认的 HTML 结构。如果你想生成 HTML4 的过渡型结构,那么输入指令 html:xt,然后ctrl+E, 即可生成如下结构:

<!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.haorooms.com/ ,title 为“haorooms 博客”的 a 标签,可以这样写:

a[href="http://www.haorooms.com/" title="haorooms 博客"]

其他标签和属性都类似。

十、对生成内容编号:$

例如无序列表,我想为五个个 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.[email protected]-*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.[email protected]*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.[email protected]-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.haorooms.com/"]{点击这里到 haorooms 的博客}

这样就生成了一个到我博客的超链接了。在生成内容的时候,特别要注意前后的符号关系,虽然 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

而去掉空格之后,就可以正常执行生成结构了。

时间: 2024-11-08 22:54:41

sublime Emmet的用法及相关语法的相关文章

体验了Sublime + Emmet,才体会到原来前端开发可以这么痛快!

从当初用notepad写出第一个web页面,到现在偶尔使用Editplus做一些HTML5的消遣,不知不觉已经15年了  --! 在这中间,和那些老顽固一样,坚决远离FP.DW那些半自动的前端开发工具 虽说效率确实差了些,但那种每一个字符都掌握在自己手中的踏实感实在是不忍心放弃 直到遇见Sublime,和Emmet,才知道,原来纯手打也可以这么痛快淋漓! 就像这样: 然后Tab,就会变成这样: 继续,在body中间,就像这样: 然后Tab,就会变成这样: 又或者,这样: 然后Tab,就会变成这样

SQlite数据库相关语法知识

1.SQLite3是一款开源的嵌入式关系型数据库,可移植性好.易使用.内存开销比较小 SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中 2. SQLite3常用的5种数据类型:text(文本).integer(整型).real(浮点值).blob(二进制) 3. 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件 4. 创建或打开数据库 // path为:~/Documents/person.db sqlite3 *db; i

sublime的一些用法(emmet插件、)

在学的过程中,看到了一个非常方便的html的标签的写法:,插件emmet 一.安装emmet 看清楚哦~~这是Sublime text 3不是2的版本,两者的安装还是有区别的1 ONE:建议到官方下载Sublime 其他地方下载的可能会有冲突导致以下无法进行,出问题的同学一般是这个问题,不一一回复了~ TWO: Package Control的安装--- 先关闭Sublime text 3: 第一步:下载sublime_package_control-master.zip ,解压命名文件夹为Pa

动图展示16个Sublime Text快捷键用法 ---------------物化的sublime

在我做了一次包含一些现场编码的演示后,一些观众问我是如何操作这么快.当然这里没有唯一的答案,答案是一堆简单的快捷键和大量的实践的组合.为了回应那些询问,我觉得有必要看看我每天想都不用想且使用的快捷键. 这里有一个15 16 个快捷键的精选列表(1个自定义快捷键),以gif动画展示,我每天使用.享受吧! (译者注:原文所列快捷键均为OS X环境,为了方便Windows和Linux环境童鞋的学习,译者将备注Windows和Linux下对应的快捷键) 选择 选择一个选中项的下一个匹配项 选择一个选中项

Sublime+Emmet

Sublime使用Package Control安装Emmet插件: 按Ctrl+Shift+P命令板 输入install然后选择install Package,然后输入emmet找到 Emmet Css Snippets,点击就可以自动完成安装. 使用方法 http://docs.emmet.io/cheat-sheet/ emmet的使用方法也非常简单,以sublime text为例,直接在编辑器中输入HTML或CSS的代码的缩写,然后按tab键就可以拓展为完整的代码片段.(如果与已有的快捷

sublime+emmet前端开发工具

Sublime简直神一样的存在! 逗的了python,耍的了json,玩得起HTML,撩的了CSS.反正目前能用到几种代码的都能用它编辑. 上手容易,界面清晰,简洁方便,可扩展性强.eclipse,dw什么的启动起来实在慢.而且黑色背景很炫酷.还有各种惊喜随时等你去发现. 恩,说正事,今天开始接触D3.js,本来打算安装myeclipse+tomcat的(用不习惯DW这种半自动的前端开发工具,没开发过很复杂的网站,所以都是前端后台都在eclipse上做,虽然前端大部分都是找模板修改一下),突然意

Mysql表结构定义及相关语法

mysql语法及相关命令1.每个sql命令都需要使用分号来完成2.可以将一个命令写成多行3.可以通过\c来取消本行命令4.可以通过\g.exit.ctrl+c或者quit来退出当前客户端5.可以通过使用help命令来查询快捷键6.将查询后的数据竖起来\G7.显示当前服务器状态\s8.更改执行符\d9.使用?查询命令帮助,如 ?create 数据库相关操作:create database [if not exists] databasename 创建名为databasename的数据库 show

相关语法进阶

// //  main.swift //  Swift_Other // //  Created by 齐彦坤 on 2017/7/21. //  Copyright ? 2017年 KG. All rights reserved. // // 2.3 与 3.0 迁移对比 http://www.jianshu.com/p/460b5424942a import Foundation // Swift 与 Objective-C 中的 nil // Swift 使用 nil 代表 <#值缺失#>

Sublime Emmet安装

Emmet:快速开发Html .Css 1. Ctrl+Shift+P 2. 输入:install package 3. 等待弹出窗口,输入:emmet 选择安装 4. 如果安装出错需要安装PyV8 去这选择合适的版本手动下载:https://github.com/emmetio/pyv8-binaries 5. Perferences->Browser Package ,新建PyV8文件夹,将下载好的zip解压到此文件夹,重启sublime.