Sublime Text 2之Emmet插件安装及使用
1.安装Emmet
How To Install?Reffer to this link:http://www.ituring.com.cn/article/47310
2.使用Emmet--Abbreviations Syntax
Emmet uses syntax similar to CSS selectors for describing elements’ positions inside generated tree and elements’ attributes.
Elements
You can use elements’ names like div
or p
to generate HTML tags. Emmet doesn’t have a predefined set of available tag names, you can write any word and transform it into a tag: div
→ <div></div>
, foo
→ <foo></foo>
and so on.
Nesting operators
Nesting operators are used to position abbreviation elements inside generated tree: whether it should be placed inside or near the context element.
Child: >
You can use >
operator to nest elements inside each other:
div>ul>li
...will produce
<div>
<ul>
<li></li>
</ul>
</div>
Sibling: +
Use +
operator to place elements near each other, on the same level:
div+p+bq
...will output
<div></div>
<p></p>
<blockquote></blockquote>
Climb-up: ^
With >
operator you’re descending down the generated tree and positions of all sibling elements will be resolved against the most deepest element:
div+div>p>span+em
...will be expanded to
<div></div>
<div>
<p><span></span><em></em></p>
</div>
With ^
operator, you can climb one level up the tree and change context where following elements should appear:
div+div>p>span+em^bq
...outputs to
<div></div>
<div>
<p><span></span><em></em></p>
<blockquote></blockquote>
</div>
You can use as many ^
operators as you like, each operator will move one level up:
div+div>p>span+em^^^bq
...will output to
<div></div>
<div>
<p><span></span><em></em></p>
</div>
<blockquote></blockquote>
Multiplication: *
With *
operator you can define how many times element should be outputted:
ul>li*5
...outputs to
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
Grouping: ()
Parenthesises are used by Emmets’ power users for grouping subtrees in complex abbreviations:
div>(header>ul>li*2>a)+footer>p
...expands to
<div>
<header>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</header>
<footer>
<p></p>
</footer>
</div>
If you’re working with browser’s DOM, you may think of groups as Document Fragments: each group contains abbreviation subtree and all the following elements are inserted at the same level as the first element of group.
You can nest groups inside each other and combine them with multiplication *
operator:
(div>dl>(dt+dd)*3)+footer>p
...produces
<div>
<dl>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
</dl>
</div>
<footer>
<p></p>
</footer>
With groups, you can literally write full page mark-up with a single abbreviation, but please don’t do that.
Attribute operators
Attribute operators are used to modify attributes of outputted elements. For example, in HTML and XML you can quickly add class
attribute to generated element.
ID and CLASS
In CSS, you use elem#id
and elem.class
notation to reach the elements with specified id
or class
attributes. In Emmet, you can use the very same syntax to add these attributes to specified element:
div#header+div.page+div#footer.class1.class2.class3
...will output
<div id="header"></div>
<div class="page"></div>
<div id="footer" class="class1 class2 class3"></div>
Custom attributes
You can use [attr]
notation (as in CSS) to add custom attributes to your element:
td[title="Hello world!" colspan=3]
...outputs
<td title="Hello world!" colspan="3"></td>
- You can place as many attributes as you like inside square brackets.
- You don’t have to specify attribute values:
td[colspan title]
will produce<td colspan="" title="">
with tabstops inside each empty attribute (if your editor supports them). - You can use single or double quotes for quoting attribute values.
- You don’t need to quote values if they don’t contain spaces:
td[title=hello colspan=3]
will work.
Item numbering: $
With multiplication *
operator you can repeat elements, but with $
you can number them. Place $
operator inside element’s name, attribute’s name or attribute’s value to output current number of repeated element:
ul>li.item$*5
...outputs to
<ul>
<li class="item1"></li>
<li class="item2"></li>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
</ul>
You can use multiple $
in a row to pad number with zeroes:
ul>li.item$$$*5
...outputs to
<ul>
<li class="item001"></li>
<li class="item002"></li>
<li class="item003"></li>
<li class="item004"></li>
<li class="item005"></li>
</ul>
Changing numbering base and direction
With @
modifier, you can change numbering direction (ascending or descending) and base (e.g. start value).
For example, to change direction, add @-
after $
:
ul>li.item$@-*5
…outputs to
<ul>
<li class="item5"></li>
<li class="item4"></li>
<li class="item3"></li>
<li class="item2"></li>
<li class="item1"></li>
</ul>
To change counter base value, add @N
modifier to $
:
ul>li.item$@3*5
…transforms to
<ul>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
<li class="item6"></li>
<li class="item7"></li>
</ul>
You can use these modifiers together:
ul>li.item$@-3*5
…is transformed to
<ul>
<li class="item7"></li>
<li class="item6"></li>
<li class="item5"></li>
<li class="item4"></li>
<li class="item3"></li>
</ul>
Text: {}
You can use curly braces to add text to element:
a{Click me}
...will produce
<a href="">Click me</a>
Note that {text}
is used and parsed as a separate element (like, div
, p
etc.) but has a special meaning when written right after element. For example, a{click}
and a>{click}
will produce the same output, buta{click}+b{here}
and a>{click}+b{here}
won’t:
<!-- a{click}+b{here} -->
<a href="">click</a><b>here</b>
<!-- a>{click}+b{here} -->
<a href="">click<b>here</b></a>
In second example the <b>
element is placed inside <a>
element. And that’s the difference: when {text}
is written right after element, it doesn’t change parent context. Here’s more complex example showing why it is important:
p>{Click }+a{here}+{ to continue}
...produces
<p>Click <a href="">here</a> to continue</p>
In this example, to write Click here to continue
inside <p>
element we have explicitly move down the tree with >
operator after p
, but in case of a
element we don’t have to, since we need <a>
element with here
word only, without changing parent context.
For comparison, here’s the same abbreviation written without child >
operator:
p{Click }+a{here}+{ to continue}
...produces
<p>Click </p>
<a href="">here</a> to continue
Notes on abbreviation formatting
When you get familiar with Emmet’s abbreviations syntax, you may want to use some formatting to make your abbreviations more readable. For example, use spaces between elements and operators, like this:
(header > ul.nav > li*5) + footer
But it won’t work, because space is a stop symbol where Emmet stops abbreviation parsing.
Many users mistakenly think that each abbreviation should be written in a new line, but they are wrong: you can type and expand abbreviation anywhere in the text:
点击观看Demo视频
This is why Emmet needs some indicators (like spaces) where it should stop parsing to not expand anything that you don’t need. If you’re still thinking that such formatting is required for complex abbreviations to make them more readable:
- Abbreviations are not a template language, they don’t have to be “readable”, they have to be “quickly expandable and removable”.
- You don’t really need to write complex abbreviations. Stop thinking that “typing” is the slowest process in web-development. You’ll quickly find out that constructing a single complex abbreviation is much slower and error-prone than constructing and typing a few short ones.
refference:http://docs.emmet.io/abbreviations/syntax/
Sublime Text 2之Emmet插件安装及使用的更多相关文章
- Sublime Text 开发神器相关 插件安装 功能介绍
无法安装更多见http://blog.csdn.net/freshlover/article/details/44261229/ Sublime Text 3 安装插件管理 Package Contr ...
- 关于Sublime text 2中Emmet的安装 _html:xt无效
其实这个网上很多教程,有一些方法是可行的,但是有一些方法是行不通的. 虽然Sublime text 2有不同平台的版本,但是安装起来,还是有点差异的. 先简单介绍一下Emmet,Emmet是Zen-c ...
- 史上最全的 Sublime Text 汉化、插件安装合集
0.前言 本文用于给新手小白用户指明前进方向.不用做商业推广. 其次,鼓舞购买正版.拒绝盗版. 好了.口号喊完,接下来就直接開始正文. 1. Sublime Text 介绍 首先在開始前,先来介绍一下 ...
- 【转】sublime text 2中Emmet插件8个常用的技巧
因为开始做web项目,所以最近在用sublime编辑器,知道了一个传说中的emmet,原名是zen coding.html神插件可以说是.文章部分内容转自http://www.cnblogs.com/ ...
- Sublime Text3 Package Control Emmet插件安装
https://www.cnblogs.com/carrie-hong/p/4995735.html https://www.cnblogs.com/tamato-jacob-wealllostcon ...
- Sublime Text几款常用插件及用法(前端)
一.Sublime3下载 百度搜索sublime text3,出现如图: 2.然后点击进去下载: 或者https://pc.qq.com/detail/0/detail_10140.html这里下载 ...
- Sublime Text 中使用Git插件连接GitHub
sublime Text的另一个强大之处在于它提供了非常丰富的插件,可以帮助程序员来适合大多数语言的开发.这些插件通过它自己的Package Controll(包管理)组件来安装,非常方便.一般常用的 ...
- Sublime ctags 函数跳转插件安装
Sublime Text安装插件的方法,主要有以下两种: 1. 直接通过下载安装包安装 在编辑器菜单中点击“Preferences”–“Browse Packages…”打开插件安装目录,然后把下载的 ...
- Sublime text代码补全插件(支持Javascript、JQuery、Bootstrap框架)
Sublime text代码补全插件(支持Javascript.JQuery.Bootstrap框架) 插件名称:javascript-API-Completions 支持Javascript.J ...
随机推荐
- dfs序七个经典问题(转)
我这个人不怎么喜欢写轻重链剖分和LCT 还是喜欢dfs序.括号序列之类的 毕竟线段树好写多了 然后就有了这篇转载的文章 写在这边以后有时间看看 原文链接:https://www.cnblogs.com ...
- mysql数据库----视图、触发器、存储过程、函数、事务、索引、其他语句
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( S ...
- php整理
linux上安装php配套环境有些繁琐 推荐使用一键安装: https://lnmp.org/install.html phalcon框架环境: centos7下php7.0.x安装phalcon框架
- grafana模板
1.安静了这么久,换了一家公司,还有过年,去了上海,去了苏州,去了杭州,认识了一个人,跟老司机他们一起学k8s,所以很累很累,这是监控,也是在老司机的帮助下熟悉使用,3q!
- WPF系列之二:解耦View层控件事件与ViewModel层事件的响应
以前的做法: 1.当项目的时间比较紧迫的时候,对UI层中控件的事件的处理,往往采取的是类似Winform中最简单的做法,直接做一个事件的Handler直接去调用VM层的方法. 2.控件只有一个Comm ...
- 平衡树【Treap】
平衡树的板题,用Treap实现. 具体参见注释,写的很详细了,包括了原理,实现以及注意事项 蒟蒻写个注释板子写了两天,太弱了QAQ 感谢niiick指导 Code #include<iostre ...
- 深度学习voc数据集图片resize
本人新写的3个pyhton脚本. (1)单张图片的resize: # coding = utf-8 import Image def convert(width,height): im = Image ...
- springsecurity remember-me 功能
本文基于spring-security-web-4.1.2.RELEASE. 要实现rememberMe,有两种方案. 1.基于简单加密token的方法 首先需要在配置文件中加入<remembe ...
- WIN7 系统 右键计算机 点击管理 出现对话框:找不到文件。
解决方法: WIN+R组合键运行 “regedit” HKEY_LOCAL_MACHINE----SOFTWARE----Classes----CLSID----{20D04FE0-3AEA-1069 ...
- PHP扩展开发--02.包裹第三方的扩展
背景 也许最常见的PHP扩展是那些包裹第三方C库的扩展.这些扩展包括MySQL或Oracle的数据库服务库,libxml2的 XML技术库,ImageMagick 或GD的图形操纵库. 在本节中,我们 ...