1.插件:Emmet ['ɛmɪt] 是一个插件。可以快速的编写 HTML、CSS 以及实现其他的功能。很多文本编辑器都支持。
2.开发者:Emmet 是 Zen Coding 的升级版,由 Zen Coding 的原作者进行开发。
3.解析模式:当前文件的后缀为 .html 那 Sublime text 3 就会用 HTML 的解析模式来解析这个文件
4.Emmet 使用 仿 CSS 选择器 的语法 来快速开发 HTML 和 CSS ——由 俄国人Sergey Chikuyonok 开发,开发者的linkedin,开发者的Github。
5.Zen Coding 由两个核心组件组成:
6.展开缩写:所有缩写,默认按下tab 按键来拓展缩写
工欲善其事,必先利其器,掌握 emmet 缩写语法 就是磨好了一把利剑。
★ Emmet 缩写语法 官网速查表
★ Emmet 官网说明文档
Emmet 的 HTML 标签缩写介绍
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Documenttitle>
head>
<body>
body>
html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Documenttitle>
head>
<body>
body>
html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>Documenttitle>
head>
<body>
body>
html>
<div>div>
<cat>cat>
<dog>dog>
<div>
<ul>
<li>li>
<li>li>
<li>li>
ul>
div>
<div>div>
<div>div>
<ul>ul>
<p>p>
<div>div>
<div>
<p>p>
<ul>ul>
div>
<p>p>
<div>
<div>
<p>
<ul>
<li>li>
<li>li>
<li>li>
ul>
p>
<p>p>
div>
div>
<div>
<div1>
<p>p>
<p>p>
div1>
<div2>
<ul>
<li>li>
<li>li>
<li>li>
ul>
div2>
div>
<div>
<ul>
<li>li>
<li>li>
<li>li>
ul>
div>
<div>
<dl>
<dt>dt>
<dd>dd>
<dt>dt>
<dd>dd>
<dt>dt>
<dd>dd>
dl>
<ul>
<li class="item1">li>
<li class="item2">li>
<li class="item3">li>
<li class="item4">li>
ul>
<h1>h1>
<h2>h2>
<h3>h3>
<h1 title="item1">h1>
<h2 title="item2">h2>
<h3 title="item3">h3>
<h1 title="item1">little boy1h1>
<h2 title="item2">little boy2h2>
<h3 title="item3">little boy3h3>
<ul>
<li class="item01">li>
<li class="item02">li>
<li class="item03">li>
ul>
<ul>
<li class="item001">li>
<li class="item002">li>
<li class="item003">li>
ul>
<ul>
<li class="item3">li>
<li class="item2">li>
<li class="item1">li>
ul>
<ul>
<li class="item3">li>
<li class="item4">li>
<li class="item5">li>
<li class="item6">li>
<li class="item7">li>
<li class="item8">li>
ul>
<ul>
<li class="item3">li>
<li class="item4">li>
<li class="item5">li>
ul>
<div id="header">div>
<div class="title">div>
<form action="" id="search" class="red">form>
<div class="class1 class2 class 3">div>
<p title="hello" world="">p>
<p title="hello world">p>
<td rowspan="2" colspan="3" title="">td>
<div title="hello world">div>
<div title="hello world">div>
<div>click<a href="">herea>to continuediv>
<div>
我是div的内容1<p>我是div儿子p的内容p>我是div的内容2
div>
隐式标签:标签名 省略不写,也能自动补全标签名, 是后代的话,自动识别,并补全后代标签
不写标签名时,展开时,都会先查看父标签的名字
根据父标签的名字 而自动生成不同的标签
自动补全为 div
<div class="class1">div>
<div id="header">div>
<html>
<head>
<style>
span{color:red;}
style>
head>
<body>
<em><span class="red">我是要强调的内容,我用span标签设置样式span>em>
body>
<ul>
<li class="class1 red">li>
<li class="class2 red">li>
<li class="class3 red">li>
ul>
<table>
<tr class="row">
<td class="col">td>
tr>
table>
父亲 | 自动补全 |
---|---|
ul、ol | li |
table, tbody, thead and tfoot | tr |
tr | td |
select and optgroup | option |
em | span |
<ul><li class>li>ul>
<ol><li class="class-ol">li>ol>
<table><tr class="class-table">tr>table>
<tbody><tr class="class-tbody">tr>tbody>
<thead><tr class="class-thead">tr>thead>
<tfoot><tr class="class-tfoot">tr>tfoot>
<tr><td class="class-td">td>tr>
<optgroup><option class="class-opt">option>optgroup>
<select name="" id=""><option class="class-sel">option>select>
<ul>
<li class="item1">li>
<li class="item2">li>
<li class="item3">li>
ul>
<ul>
<li class="item1">li>
<li class="item2">li>
<li class="item3">li>
ul>
<div>
<ul>
<li> >hello world <span class="red">span>li>
<li>li>
<li>li>
<li>li>
<li>li>
ul>
div>
<ul>
<li class="item">Lorem ipsum dolor sit amet.li>
<li class="item">Vel eveniet assumenda, expedita quaerat!li>
<li class="item">Esse beatae unde nulla quia.li>
ul>
<ul>
<li class="item">Lorem ipsum dolor sit amet.li>
<li class="item">A itaque architecto quas recusandae.li>
<li class="item">Deleniti, necessitatibus porro perspiciatis ab!li>
ul>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Non, quidem!p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Numquam, id.p>
<p>Blanditiis sapiente expedita incidunt autem necessitatibus provident deserunt eius sequi.p>
<p>Vitae nobis quos id modi quam ad nulla. Laborum, cum!p>
<p>Itaque, illum veritatis? Debitis, mollitia nulla doloribus quae dolorem aliquid.p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id consequuntur odit perferendis debitis quos unde totam pariatur quibusdam, at explicabo corporis, quisquam labore cupiditate deserunt odio maiores adipisci dicta aliquid! 后面是第二次使用 lorem 产生的段落:Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis consequatur nulla magnam minima, nesciunt ipsa quo, quibusdam recusandae fugiat aspernatur amet libero numquam deleniti eligendi nobis rem neque saepe sed.p>
/*m ,margin的缩写*/
margin: ;
/*m10 ,带属性值的,属性名称和属性值之间不使用分隔符,是为了更快的打出代码*/
margin: 10px;
/*m10-20,带两个属性值的*/
margin: 10px 20px;
/*m-10--20 带负得属性值的*/
margin: -10px -20px;
/*m--10-20 带一个正值 一个负值的*/
margin: -10px 20px;
/*m--10--20 带两个负值的*/
margin: -10px -20px;
/*m--10--20--30 带三个负值的*/
margin: -10px -20px -30px;
/*★ 同时定义多个属性*/
/*m10+bd20,同时定义两个属性*/
margin: 10px;
border: 20px;
/*m10+bd20+bg#3,同时定义三个属性*/
margin: 10px;
border: 20px;
background: #333;
/*m10-20+bd20,同时定义两个属性,第一个属性两个属性值*/
margin: 10px 20px;
border: 20px;
(1)默认单位
(2)显式定义 属性值单位
(3)单位的简写
默认不带单位的属性
/*★ 属性值的单位*/
/*m10 整数值,默认单位是px*/
margin: 10px;
/*m10.5 小数值,默认单位是em*/
margin: 10.5em;
/*m10ex15em ,显式定义属性值单位*/
margin: 10ex 15em;
/*m10cat5dog,任意单词 可以定义属性值单位,注意不要打错单词*/
margin: 10cat 5dog;
/*属性值单位的简写 */
/*m10p*/
margin: 10%;
/*m10e*/
margin: 10em;
/*m10x*/
margin: 10ex;
/*★ 颜色的属性值格式*/
/*c#3,#后面一个字符*/
color: #333;
/*c#e0,#后面两个字符*/
color: #e0e0e0;
/*c#fc0,#后面三个字符*/
color: #fc0;
/*c#ffcc00,#后面六个字符*/
color: #fc0;
/*!important 属性值的生成 */
/*p!+c#3! */
padding: !important;
color: #333 !important;
/*-bdrs ,会自动生成占位符,可以同时输入几个属性值*/
-webkit-border-radius: ;
-moz-border-radius: ;
-ms-border-radius: ;
-o-border-radius: ;
border-radius: ;
/*trf ,没有加 连字符 - 前缀,但是自动生成了浏览器供应商的前缀,
因为这个trf属性在供应商目录文件中,会自动添加浏览器供应商前缀*/
-webkit-transform: ;
-ms-transform: ;
-o-transform: ;
transform: ;
/*-trf 和不带连字符的 缩写,生成一样的浏览器供应商前缀*/
-webkit-transform: ;
-ms-transform: ;
-o-transform: ;
transform: ;
/*-w-trf 一次定义一个指定浏览器前缀*/
-webkit-transform: ;
transform: ;
/*-m-trf 一次定义一个指定浏览器前缀*/
-moz-transform: ;
transform: ;
/*-s-trf 一次定义一个指定浏览器前缀*/
-ms-transform: ;
transform: ;
/*-o-trf 一次定义一个指定浏览器前缀*/
-o-transform: ;
transform: ;
/*-wm-trf 一次定义两个指定的浏览器前缀*/
-webkit-transform: ;
-moz-transform: ;
transform: ;
/*-wms-trf 一次定义三个指定的浏览器前缀*/
-webkit-transform: ;
-moz-transform: ;
-ms-transform: ;
transform: ;
/*-wmso-trf 一次定义四个指定的浏览器前缀*/
-webkit-transform: ;
-moz-transform: ;
-ms-transform: ;
-o-transform: ;
transform: ;
(5)前缀是如何解析的
▼ 知识拓展:em 单位,相对 长度单位。
div{
/*lg(left,#fc0 30%,red),没有指明属性名,自动生成background-image属性,
属性值 渐变的定义,自动生成浏览器供应商前缀*/
background-image: -webkit-linear-gradient(left, #fc0 30%, red);
background-image: -o-linear-gradient(left, #fc0 30%, red);
background-image: linear-gradient(to right, #fc0 30%, red);
}
div{
/*border-image:lg(left,#fc0 30%,red) 指定了属性名*/
-webkit-border-image: -webkit-linear-gradient(left, #fc0 30%, red);
-o-border-image: -o-linear-gradient(left, #fc0 30%, red);
border-image: linear-gradient(to right, #fc0 30%, red);
}
/*因为模糊查询,使用5种不同的缩写,拓展出了相同的代码片段*/
/*ov*/
overflow: hidden;
/*ove*/
overflow: hidden;
/*ovh*/
overflow: hidden;
/*ov:h*/
overflow: hidden;
/*ovhi*/
overflow: hidden;
从当前插入符号的位置 搜索标记或标记的内容边界 并选择这些内容。
将 当前选定的内容 放在生成的代码片段的最后一个元素中。
Emmet 默认快捷键:“Wrap with Abbreviation” (Shift+Ctrl+A)
a. 包含 指定的标签内容
b. 包含指定的标签对
c. 同时包含多个单行
注意点:不需要为换行添加乘数的数字(例如li*5)
d. 改变 被包含内容的输出位置
① 同时包含多个单行,并删除多余的 列表标记
<div id="content">
<p class="title">p>
div>
<div id="content">
<p class="title"></p>
</div>
<div id="content">
<p class="title"></p>
</div>
③ 注释标签: |c (Comment tags:)
★ 官网 更多可用过滤器的信息
快速遍历代码点:此操作适用于HTML代码块,允许您快速遍历重要代码点
按1递增和递减,sublime 中可用
按0.1 递增和递减,sublime 中不可用,需要重新设置快捷键
按10 递增和递减,sublime 中不可用,需要重新设置快捷键
一边写缩写,可以一边看到缩写展开的样子,不用 tab 来展开
用途:对XML/XSL开发人员非常有用。
快捷键:“Split/Join Tag” (Ctrl+J) ,和sublime本身快捷键冲突
还有多行合并为一行,映射 css 属性值到多行,解码和编码图像到 data:url。详情见 官网 Emmet 操作介绍
感谢:♥♥♥ 这篇文章 对小伙伴有帮助的话,可以点赞、评论和关注,鼓励下作者哦,感谢阅读~
转载 请注明出处,Thanks♪(・ω・)ノ