You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Explicabo, esse, provident, nihil laudantium vitae quam natus a earum assumenda ex vel consectetur fugiat eveniet minima veritatis blanditiis molestiae harum est!
Emmet 是高效、快速编写 HTML 和 CSS 代码的一种插件,如果还不了解,请戳Emmet — the essential toolkit for web-developers,再根据你使用的编辑器(sublime 或 vim 等)下载对应的 Emmet 插件,让你的代码快步如飞吧。下面我记录下常用的 Emmet 语法和快捷键。代码区里的均指在编辑器里输入的字符,然后按 “Tab” 键便会生成代码。
例如 输入
!
然后按 “tab” 会得到如下所示的HTML文档初始机构,再也不用一个字母一个字母敲了,是不是很简单呢?
## HTML 编写 1. 生成HTML文档初始机构 2. `html:5` 或者 `!` 生成 HTML5 结构html:xt
生成 HTML4 过渡型html:4s
生成 HTML4 严格型任意一个 html 标签输入都会生成完整的闭合标签。
例如输入
p
按tab
则 生成:<p></p>
生成带有 id 、class 的 HTML 标签:
#
为 id,.
为 class。例如输入
div#header.section
则生成<div id="header" class="section"></div>
生成后代:
>
例如输入
p>span
则生成<p><span></span></p>
生成兄弟标签:
+
例如输入
p+div
则生成<p></p><div></div>
生成上级标签:
^
例如输入
ul>li>a^div
则生成也可以使用多个
^
,例如输入
ul>li>a^^div
则生成重复生成多个标签
*
例如输入
ul>li*5
则生成生成分组的标签:
()
例如输入
ul>(li>a)*5
则生成注意和
ul>li>a*5
生成是不一样的生成自定义属性:
[]
例如输入
img[https://octodex.github.com/images/codercat.jpg][alt=octcat]
则生成生成递增的属性标签等:
$
例如输入
ul>li.item$*5
则生成生成多位递增的呢:
$$$
例如输入
ul>li.item$$$*5
则生成想生成几位输入几个
$
要生成递减的呢:
@-
例如输入
ul>li.item$@-*5
则生成想要从某个特定的顺序开始呢:
@N
例如输入
ul>li.item$@10*5
则生成逆序生成到某个数:
@-
例如输入
ul>li.item$@-10*5
则生成生成文本内容:
{}
例如输入
p{我是paddingme}
则生成缺省元素:
.header+.footer
则生成:例如输入
ul>.item*3
则生成:下面是所有的隐式标签名称:
CSS 编写
首先,Sublime Text3 已经提供了比较强大的 CSS 样式所写方法来提高 CSS 编写效率。例如编写
position: absolute
; 这一个属性,我们只需要输入 posa 这四个字母即可。可以在平时书写过程中,留意一下 ST3 提供了哪些属性的缩写方法,这样就可以提高一定的效率了。但是 Emmet 提供了更多的功能,请往下看。简写属性和属性值
比如要定义元素的宽度,只需输入w100,即可生成:
Emmet 的默认设置 w 是 width 的缩写,后面紧跟的数字就是属性值。默认的属性值单位是 px ,你可以在值的后面紧跟字符生成单位,可以是任意字符。例如,
w100foo
会生成:同样也可以简写属性单位,如果你紧跟属性值后面的字符是
p
,那么将会生成:下面是单位别名列表:
像 margin 这样的属性,可能并不是一个属性值,生成多个属性值需要用横杠(-)连接两个属性值,因为 Emmet 的指令中是不允许空格的。例如使用
m10-20
可以生成:如果你想生成负值,多加一条横杠即可。例如:
m10--20
可以生成:需要注意的是,如果你对每个属性都指定了单位,那么不需要使用横杠分割。例如使用 m10e20e 可以生成:
如果使用了横杠分割,那么属性值就变成负值了。例如使用
m10e-20e
就生成:如果你想一次生成多条语句,可以使用 “+” 连接两条语句,例如使用 h10p+m5e 可以生成:
颜色值也是可以快速生成的,例如
c#3
生成color: #333
;,更复杂一点的,使用bd5#0s
可以生成border: 5px #000 solid
;。下面是颜色值生成规则:
生成
!important
这条语句也当然很简单,只需要一个 “!” 就可以了。附加属性
使用
@f
即可生成 CSS3 中的 font-face 的代码结构:但是这个结构太简单,不包含一些其他的 font-face 的属性,诸如 background-image、border-radius、font、@font-face、 text-outline、 text-shadow 等属性,我们可以在生成的时候输入 “+” 生成增强的结构,例如我们可以输入
@f+
命令,即可输出选项增强版的 font-face 结构:模糊匹配
如果有些缩写你拿不准,Emmet 会根据你的输入内容匹配最接近的语法,比如输入
ov:h
、ov-h
、ovh
和oh
,生成的代码是相同的:供应商前缀
CSS3 等现在还没有出正式的 W3C 规范,但是很多浏览器已经实现了对应的功能,仅作为测试只用,所以在属性前面加上自己独特的供应商前缀,不同的浏览器只会识别带有自己规定前缀的样式。然而为了实现兼容性,我们不得不编写大量的冗余代码,而且要加上对应的前缀。使用 Emmet 可以快速生成带有前缀的 CSS3 属性。
在任意字符前面加上一条横杠(-),即可生成该属性的带前缀代码,例如输入
-foo-
css,会生成:虽然 foo-css 并不是什么属性,但是照样可以生成。此外,你还可以详细的控制具体生成哪几个浏览器前缀或者先后顺序,使用
-wm-trf
即可生成:可想而知,w 就是 webkit 前缀的缩写,m 是 moz 前缀缩写,s 是 ms 前缀缩写,o 就是 opera 浏览器前缀的缩写。如果使用
-osmw-abc
即可生成:渐变背景
CSS3 中新增加了一条属性
linear-gradient
使用这个属性可以直接制作出渐变的效果。但是这个属性的参数比较复杂,而且需要添加实验性前缀,无疑需要生成大量代码。而 在 Emmet 中使用lg()
指令即可快速生成,例如:使用lg(left,#fff,50%,#000)
可以直接生成:附加功能
生成Lorem ipsum文本
Lorem ipsum 指一篇常用于排版设计领域的拉丁文文章,主要目的是测试文章或文字在不同字型、版型下看起来的效果。通过 Emmet,你只需输入 lorem 或 lipsum 即可生成这些文字。还可以指定文字的个数,比如
lorem10
,将生成:定制
你还可以定制Emmet插件:
如何自定义 Emmet 语法可参考:http://qianduanblog.com/post/sublime-text-3-custom-emmet-output-bootstrap-widget.html;github 上 一丝的 Emment-plus 也推荐
快捷键
Emmet 的官方 API 列表在这里,有一个图片版本可以点此下载
CSS 部分转自HTML/CSS 速写神器:Emmet,因为写着写着发现 bubkoo 差不多给我要写的写完了。所以就摘抄下(不要打我),
其余参考:Emmet官方文档。
The text was updated successfully, but these errors were encountered: