├── preferences.json
├── LICENSE
├── README.md
├── snippets-emmet-plus.json
└── Emmet.sublime-settings
/preferences.json:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013 一丝
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Emmet plus 让 Emmet 更强大
2 |
3 | 
4 |
5 | ## 如何使用?
6 |
7 | 以 Sublime Text 2 为例
8 |
9 | 1. 首先请确保已经安装了 Emmet, 并可以正常使用。
10 | 2. 打开菜单 ```Preferences```→```Package Settings```→```Emmet```→```Settings-User```
11 | 3. 复制```Emmet.sublime-settings```文件中的所有内容,粘贴到上面打开的```Settings-User```中
12 | 4. 保存后重启 Sublime Text
13 | 5. 打开一个 CSS 文件,输入```cm```,如果成功生成了如下注释,安装成功
14 |
15 | ```css
16 | /**
17 | *
18 | * @file:
19 | * @author:
20 | * @update:
21 | * @note:
22 | * @doc:
23 | */
24 | ```
25 | 6. 尽情享受吧!
26 |
27 | > Sublime Text 3 如果无法使用,欢迎反馈
28 |
29 | ## 扩展了哪些功能?
30 |
31 | * 统一的注释风格,以[css-creating](https://github.com/yisibl/css-creating)为参考。
32 |
33 | 例如输入`c`,`cm`
34 |
35 | 在HTMl文件中会输出:
36 |
37 | ```
38 |
39 |
40 |
41 |
42 |
43 |
44 | ```
45 |
46 | 在 CSS 文件中会输出:
47 |
48 | ```
49 | /* */
50 |
51 | /**
52 | *
53 | * @file:
54 | * @author:
55 | * @update:
56 | * @note:
57 | * @doc:
58 | */
59 | ```
60 |
61 | 在 CSS 文件中输入`c1`,`c2`,会输出
62 |
63 | ```
64 | /* ==========================================================================
65 | 1级区块标题
66 | ========================================================================== */
67 |
68 | /* --------------------------------------------------------------------------
69 | 2级区块标题
70 | -------------------------------------------------------------------------- */
71 | ```
72 |
73 | * 扩展代码片段
74 |
75 | 输入`@ff`,会输出:
76 |
77 | ```css
78 | @font-face {
79 | font-family: 'FontName'; /* IE9 */
80 | src: url('FileName.eot');
81 | src: url('FileName.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
82 | url('FileName.woff') format('woff'), /* Chrome,Firefox */
83 | url('FileName.ttf') format('truetype'), /* Chrome,Firefox,Opera,Safari,Android, iOS 4.2+ */
84 | url('FileName.svg#FontName') format('svg'); /* iOS 4.1- */
85 | }
86 | ```
87 |
88 | 输入`bgi+`,会输出:
89 |
90 | ```css
91 | @media only screen and (-o-min-device-pixel-ratio: 2/1), /* Opera */
92 | only screen and (min--moz-device-pixel-ratio: 2), /* Firefox 16 之前 */
93 | only screen and (-webkit-min-device-pixel-ratio: 2), /* WebKit */
94 | only screen and (min-resolution: 192dpi), /* 不支持dppx的浏览器 */
95 | only screen and (min-resolution: 2dppx) /* 标准 */
96 | {
97 | .selector{
98 | background-image:url();/* Retina */
99 | background-size: 图片宽度÷2px 图片高度÷2px;
100 | }
101 | }
102 | ```
103 |
104 | * 输出 cube 中的布局结构
105 |
106 | 输入`vbox`,会输出:
107 |
108 | ```html
109 |
115 | ```
116 |
117 | * 扩展和修复 emmet 错误的 CSS 声明
118 |
119 | 例如`font-smoothing`属性,输入`fsm`,会输出:
120 |
121 | ```css
122 | -webkit-font-smoothing: antialiased;
123 | -moz-osx-font-smoothing: grayscale; /* Firefox 25+ */
124 | ```
125 |
126 | * 扩展 emmet 不支持的属性,比如`flex`,输入`dfx`,会输出:
127 |
128 | ```css
129 | display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
130 | display: -moz-box; /* Firefox 17- */
131 | display: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */
132 | display: -moz-flex; /* Firefox 18+ */
133 | display: -ms-flexbox; /* IE 10 */
134 | display: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */
135 | ```
136 |
137 | * 增加了更多的 CSS 单位:
138 | > c:ch, d:deg, g:grad, r:rad, t:turn
139 |
140 | * 增加更多的 CSS 简写:
141 | > n:none, ih:inherit, ii:initial, db:double, u:unset
142 |
143 | * 增加了更多的没有单位的 CSS 属性:
144 | > animation-iteration-count, counter-increment, font-size-adjust, flex-grow, flex-shrink, order, column-count, orphans, widows, shape-image-threshold, mask-box-outset
145 |
146 |
147 | 所有输出代码都已经预定义光标路径,按 ```TAB``` 键可以自动切换到下一个编辑点。
148 |
149 | 赶快试试吧(*^__^*) !
150 |
151 |
--------------------------------------------------------------------------------
/snippets-emmet-plus.json:
--------------------------------------------------------------------------------
1 | {
2 | "variables": {
3 | "lang": "zh-cn",
4 | "color": "#ccc",
5 | "bg-color": "#ccc"
6 | },
7 |
8 | "css": {
9 | "filters": "html",
10 | "snippets": {
11 | "co": "color:#${1:333};",
12 | "co:f": "color:#${fff};",
13 | "ccur":"color:currentColor;",
14 |
15 | "c:hsl": "color:hsl(${1:0}, ${2:0%}, ${3:0%});",
16 | "c:hsla": "color:hsla(${1:0}, ${2:0%}, ${3:0%}, .${4:5});",
17 | "bg:hsl": "background:hsl(${1:0}, ${2:0%}, ${3:0%});",
18 | "bg:hsla": "background:hsla(${1:0}, ${2:0%}, ${3:0%}, .${4:5});",
19 | "bgc:hsl": "background-color:hsl(${1:0}, ${2:0%}, ${3:0%});",
20 | "bgc:hsla": "background-color:hsla(${1:0}, ${2:0%}, ${3:0%}, .${4:5});",
21 |
22 | "objp": "object-position:${1:50%} ${2:50%};",
23 | "objp:c": "object-position:center center;",
24 | "objp:t": "object-position:top;",
25 |
26 | "objf": "object-fit:${fill};",
27 | "objf:ct": "object-fit:contain;",
28 | "objf:cv": "object-fit:cover;",
29 | "objf:s": "object-fit:scale-down;",
30 | "objf:n": "object-fit:none;",
31 |
32 | "ovs": "-ms-overflow-style: -ms-autohiding-scrollbar;\n-webkit-overflow-scrolling: touch;",
33 |
34 | "imgr": "image-resolution:from-image;",
35 | "imgr:s": "image-resolution:snap;",
36 | "imgr:fs": "image-resolution:from-image snap;",
37 | "imgr:sf": "image-resolution:snap from-image;",
38 | "imgr+": "image-resolution:300dpi from-image snap;",
39 |
40 | "imgo": "image-orientation:;",
41 |
42 | "c": "/* $1 */|",
43 | "cm": "/**\n * $1\n${2:${4: * @file: }\n${5: * @author: }\n${6: * @update: }\n${7: * @note: }\n${8: * @doc: }}\n */\n|",
44 | "c1": "/* ==========================================================================\n ${1:1级区块标题}\n ========================================================================== */\n|",
45 | "c2": "/* --------------------------------------------------------------------------\n ${1:2级区块标题}\n -------------------------------------------------------------------------- */\n|",
46 | "fsm": "-webkit-font-smoothing: antialiased;\n-moz-osx-font-smoothing: grayscale; /* Firefox 25+ */",
47 | "fsm:s": "-webkit-font-smoothing: subpixel-antialiased; /* 默认值 */",
48 | "fsm:a": "-webkit-font-smoothing: auto;\n-moz-osx-font-smoothing: auto;",
49 | "fsm:n": "-webkit-font-smoothing: none;",
50 |
51 | "f": "float:${none};",
52 | "f:n": "float:${none};",
53 | "f:l": "float:left;",
54 | "fl": "float:left;",
55 | "f:r": "float:right;",
56 |
57 | "fo": "font:|;",
58 | "fst": "font-style:${normal};",
59 | "fst:n": "font-style:normal;",
60 | "fst:i": "font-style:italic;",
61 | "fst:o": "font-style:oblique;",
62 | "fs": "font-size:${medium};",
63 | "fsa": "font-size-adjust:|;",
64 | "fsa:n": "font-size-adjust:none;",
65 |
66 | "@c": "@charset \"utf-8\";",
67 | "@f": "@font-face {\n\tfont-family: |;\n\tsrc: local('|'), url(|);|\n}",
68 |
69 | "@kf": "@-webkit-keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n@-moz-keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n}\n@-o-keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n}\n@keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n}",
70 |
71 | "@ff": "@font-face {\n\tfont-family: '${1:FontName}';\n\tsrc: url('${2:FileName}.eot'); /* IE9+ */\n\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\n\t\t url('${2:FileName}.woff') format('woff'), /* Chrome,Firefox */\n\t\t url('${2:FileName}.ttf') format('truetype'), /* Chrome,Firefox,Opera,Safari,Android, iOS 4.2+ */\n\t\t url('${2:FileName}.svg#${1:FontName}') format('svg'); /* iOS 4.1- */${3}\n}",
72 | "unicode-range": "unicode-range: U+0-10FFFF; /* 默认值 */",
73 | "src:l": "src:\n\tlocal('${1:font-name}'),\n\turl(${2:font-url});",
74 |
75 | "placeholder": "/* Firefox 18- */\ninput:-moz-placeholder, textarea:-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* Firefox 19+ */\ninput::-moz-placeholder, textarea::-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* IE10+ */\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n\tcolor: ${1:darkGray};\n}\ninput::-webkit-input-placeholder, textarea::-webkit-input-placeholder {\n\tcolor: ${1:darkGray};\n}",
76 | "placeholderfocus": "/* Firefox 18- */\ninput:focus:-moz-placeholder, textarea:focus:-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* Firefox 19+ */\ninput:focus::-moz-placeholder, textarea:focus::-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* IE10+ */\ninput:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {\n\tcolor: ${1:darkGray};\n}\ninput:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {\n\tcolor: ${1:darkGray};\n}",
77 | "selection": "::-moz-selection{\n\tbackground: #${1:b3d4fc};\n\ttext-shadow: none;\n}\n::selection{\n\tbackground: #${1:b3d4fc};\n\ttext-shadow: none;\n}",
78 | "clip": "clip: rect(${1:0px}, ${1:0px}, ${1:0px}, ${1:0px});",
79 | "clip:inset": "clip: inset(${1:0px}, ${1:0px}, ${1:0px}, ${1:0px});",
80 | "transparent": "transparent",
81 | "bdra": "border-radius:|;",
82 | "bg": "background:url(${1}) ${2:0} ${3:0}${4: ${5:no-}repeat${6}};",
83 | "bg+": "background:${1:#fff }url(${2}) ${3:50%} ${4:50%}${5: ${6:no-}repeat${7}};",
84 | "bg2": "background: url(${2:图片1}) ${3:50%} ${4:50%} / ${5:(bg-size)}${6:100%}${7:,contain} ${8:no-repeat} ${9:(bg-origin)}${10:padding-box} ${11:(bg-clip)}${12:border-box} ${13:fixed},\n url(${14:图片2}) ${15:#fff};/* 背景色始终写到最后 */\n|",
85 | "bg3": "background: url(${2:图片1}) ${3:50%} ${4:50%} / ${5:(bg-size)}${6:100%}${7:,contain} ${8:no-repeat} ${9:(bg-origin)}${10:padding-box} ${11:(bg-clip)}${12:border-box} ${13:fixed},\n url(${14:图片2}) ${15:50%} ${16:50%} ${17:no-repeat},\n url(${18:图片3}) ${19:50%} ${20:50%} ${21:no-repeat} ${22:#fff};/* 背景色始终写到最后 */\n|",
86 |
87 | "bg:ie": "_background: none;\n_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${1:x.png}', sizingMethod='${2:crop}');",
88 |
89 | "bgr": "background-repeat: no-repeat;",
90 | "bgr:sp": "background-repeat: space; /* 自动缩放直到适应且填充满整个容器 */",
91 | "bgr:rd": "background-repeat: round; /* 以相同的间距平铺且填充满整个容器或某个方向 */",
92 | "bga:l": "background-attachment: local;",
93 | "bgp": "background-position: ${1:x} ${2:y};",
94 | "bgp+": "background-position: ${1:bottom 10px} ${2:right 10px};",
95 | "bgo": "background-origin: padding-box;",
96 | "bgcp": "background-clip: border-box;",
97 | "bgcp:t": "background-clip: text; /* 仅 WebKit 支持 */",
98 | "bgsz:ct": "background-size: contain; /* 等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内 */",
99 | "bgsz:cv": "background-size: cover; /* 等比缩放到完全覆盖容器,背景图像有可能超出容器 */",
100 | "bgi:s": "background-image: -webkit-image-set(\n url(${1}) 1x,\n url(${2}) 2x); /* Retina Safari 6+,Chrome 21+ */\n",
101 | "bgi+": "@media\n\tonly screen and (-o-min-device-pixel-ratio: 2/1), /* Opera */\n\tonly screen and (min--moz-device-pixel-ratio: 2), /* Firefox 16 之前 */\n\tonly screen and (-moz-min-device-pixel-ratio: 2), /* Firefox */\n\tonly screen and (-webkit-min-device-pixel-ratio: 2), /* WebKit */\n\tonly screen and (min-resolution: 192dpi), /* 不支持dppx的浏览器 */\n\tonly screen and (min-resolution: 2dppx) /* 标准 */\n{\n\t${1:.selector}{\n\t\tbackground-image:url(${2});/* Retina */\n\t\tbackground-size: ${3:图片宽度÷2}px ${4:图片高度÷2}px;\n\t}\n}\n",
102 | ":after": ":after {\n\tcontent: '';\n\t|${child}\n}",
103 | ":befroe": ":befroe {\n\tcontent: '';\n\t|${child}\n}",
104 | "checked": ":checked {\n\t|${child}\n}",
105 | "rsz": "resize:both;\noverflow:auto;",
106 | "rsz:b": "resize:both;\noverflow:auto;",
107 | "rsz:h": "resize:horizontal;\noverflow:auto;",
108 | "rsz:v": "resize:vertical;\noverflow:auto;",
109 | "k": "{\n\t|${child}\n}",
110 |
111 | "d:fx": "display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */\ndisplay: -moz-box; /* Firefox 17- */\ndisplay: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */\ndisplay: -moz-flex; /* Firefox 18+ */\ndisplay: -ms-flexbox; /* IE 10 */\ndisplay: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */",
112 | "d:ifx": "display: -ms-inline-flexbox;\ndisplay: -webkit-inline-flex;\ndisplay: -moz-inline-flex; /* Firefox 18+ */\ndisplay: inline-flex;",
113 |
114 | "fx": "/* 伸缩容器内的子元素如何分配空间 */\n-webkit-box-flex: ${1:0};\n-moz-box-flex: ${1:0};\n-webkit-flex: ${1:0} ${2:1} ${3:auto};\n-ms-flex: ${1:0} ${2:1} ${3:auto};\nflex: ${1:0} ${2:1} ${3:auto};",
115 |
116 | "fxg": "/* 伸缩项目的扩展比率 */\n-webkit-flex-grow: ${1:0}; /* Chrome 21+ */\n-moz-flex-grow: ${1:0}; /* Firefox 18-20 */\nflex-grow: ${1:0}; /* Chrome 29+, Opera 12.1 */",
117 |
118 | "fxs": "/* 伸缩项目的收缩比率 */\n-webkit-flex-shrink: ${1:1}; /* Chrome 21+ */\n-moz-flex-shrink: ${1:1}; /* Firefox 18-20 */\nflex-shrink: ${1:1}; /* Chrome 29+, Opera 12.1 */",
119 |
120 | "fxb": "/* 伸缩基准值 */\n-webkit-flex-basis: ${1:auto}; /* Chrome 21+ */\n-moz-flex-basis: ${1:auto}; /* Firefox 18-22 */\nflex-basis: ${1:auto}; /* Chrome 29+, Opera 12.1 */",
121 |
122 | "fxf": "-webkit-flex-flow:${1:row} ${2:nowrap};\nflex-flow:${1:row} ${2:nowrap}; /* Fiefox 28+ */",
123 | "fxf:rw": "-webkit-flex-flow:${1:row} ${2:wrap};\nflex-flow:${1:row} ${2:wrap};",
124 | "fxf:cn": "-webkit-flex-flow:${1:column} ${2:nowrap};\nflex-flow:${1:column} ${2:nowrap};",
125 | "fxf:cw": "-webkit-flex-flow:${1:column} ${2:wrap};\nflex-flow:${1:column} ${2:wrap};",
126 | "fxf:cwr": "-webkit-flex-flow:${1:column} ${2:wrap-reverse};\nflex-flow:${1:column} ${2:wrap-reverse};",
127 |
128 | "fxw": "-webkit-flex-wrap: ${1:nowrap};\n-ms-flex-wrap: ${1:nowrap};\nflex-wrap: ${1:nowrap};/* Fiefox 28+ */",
129 | "fxw:w": "-webkit-flex-wrap: ${1:wrap};\n-ms-flex-wrap: ${1:wrap};\nflex-wrap: ${1:wrap};",
130 | "fxw:wr": "-webkit-flex-wrap: ${1:wrap-reverse};\n-ms-flex-wrap: ${1:wrap-reverse};\nflex-wrap: ${1:wrap-reverse};",
131 |
132 | "fx:d": "-webkit-box-direction: ${1:normal};\n-moz-box-direction: ${1:normal};\n-webkit-box-orient: ${2:horizontal};\n-moz-box-orient: ${2:horizontal};\n-webkit-flex-direction: ${3:row};\n-ms-flex-direction: ${3:row};\nflex-direction: ${3:row};",
133 | "fx:drr": "-webkit-box-direction: ${1:reverse};\n-moz-box-direction: ${1:reverse};\n-webkit-box-orient: ${2:horizontal};\n-moz-box-orient: ${2:horizontal};\n-webkit-flex-direction: ${3:row-reverse};\n-ms-flex-direction: ${3:row-reverse};\nflex-direction: ${3:row-reverse};",
134 | "fx:dc": "-webkit-box-direction: ${1:normal};\n-moz-box-direction: ${1:normal};\n-webkit-box-orient: ${2:vertical};\n-moz-box-orient: ${2:vertical};\n-webkit-flex-direction: ${3:column};\n-ms-flex-direction: ${3:column};\nflex-direction: ${3:column};",
135 | "fx:dcr": "-webkit-box-direction: ${1:reverse};\n-moz-box-direction: ${1:reverse};\n-webkit-box-orient: ${2:vertical};\n-moz-box-orient: ${2:vertical};\n-webkit-flex-direction: ${3:column-reverse};\n-ms-flex-direction: ${3:column-reverse};\nflex-direction: ${3:column-reverse};",
136 |
137 | "jc": "-webkit-box-pack: ${1:start};\n-moz-box-pack: ${1:start};\n-ms-flex-pack: ${1:start};\n-webkit-justify-content: flex-${2:start};\njustify-content: flex-${2:start};",
138 | "jc:e": "-webkit-box-pack: ${1:end};\n-moz-box-pack: ${1:end};\n-ms-flex-pack: ${1:end};\n-webkit-justify-content: flex-${2:end};\njustify-content: flex-${2:end};",
139 | "jc:c": "-webkit-box-pack: center;\n-moz-box-pack: center;\n-ms-flex-pack: center;\n-webkit-justify-content: center;\njustify-content: center;",
140 |
141 | "jc:sb": "-webkit-box-pack: ${1:justify};\n-moz-box-pack: ${1:justify};\n-ms-flex-pack: ${1:justify};\n-webkit-justify-content: ${2:space-between};\njustify-content: ${2:space-between};",
142 |
143 | "jc:sa": "/* 旧版 flex 不支持 */-ms-flex-pack: ${2:distribute};\n-webkit-justify-content: ${3:space-around};\njustify-content: ${3:space-around};",
144 |
145 |
146 | "ac": "-ms-flex-line-pack: ${1:stretch};\n-webkit-align-content: ${1:stretch};\nalign-content: ${1:stretch};",
147 | "ac:fs": "-ms-flex-line-pack: ${2:start};\n-webkit-align-content: flex-${1:start};\nalign-content: flex-${1:start};",
148 | "ac:fe": "-ms-flex-line-pack: ${2:end};\n-webkit-align-content: flex-${1:end};\nalign-content: flex-${1:end};",
149 | "ac:c": "-ms-flex-line-pack: ${1:center};\n-webkit-align-content: ${1:center};\nalign-content: ${1:center};",
150 | "ac:sb": "-ms-flex-line-pack: ${2:justify};\n-webkit-align-content: ${1:space-between};\nalign-content: ${1:space-between};",
151 | "ac:sa": "-ms-flex-line-pack: ${2:distribute};\n-webkit-align-content: ${1:space-around};\nalign-content: ${1:space-around};",
152 |
153 | "ai": "-webkit-box-align: ${1:stretch};\n-moz-box-align: ${1:stretch};\n-ms-flex-align: ${1:stretch};\n-webkit-align-items: ${1:stretch};\nalign-items: ${1:stretch};",
154 | "ai:fs": "-webkit-box-align: ${1:start};\n-moz-box-align: ${1:start};\n-ms-flex-align: ${1:start};\n-webkit-align-items: ${2:flex-start};\nalign-items: ${2:flex-start};",
155 | "ai:fe": "-webkit-box-align: ${1:end};\n-moz-box-align: ${1:end};\n-ms-flex-align: ${1:end};\n-webkit-align-items: ${2:flex-end};\nalign-items: ${2:flex-end};",
156 | "ai:c": "-webkit-box-align: ${1:center};\n-moz-box-align: ${1:center};\n-ms-flex-align: ${1:center};\n-webkit-align-items: ${1:center};\nalign-items: ${1:center};",
157 | "ai:b": "-webkit-box-align: ${1:baseline};\n-moz-box-align: ${1:baseline};\n-ms-flex-align: ${1:baseline};\n-webkit-align-items: ${1:baseline};\nalign-items: ${1:baseline};",
158 |
159 | "as": "-ms-flex-item-align: ${1:auto};\n-webkit-align-self: ${1:auto};\nalign-self: ${1:auto};",
160 | "as:fs": "-ms-flex-item-align: ${2:start};\n-webkit-align-self: ${1:flex-start};\nalign-self: ${1:flex-start};",
161 | "as:fe": "-ms-flex-item-align: ${2:end};\n-webkit-align-self: ${1:flex-end};\nalign-self: ${1:flex-end};",
162 | "as:c": "-ms-flex-item-align: ${1:center};\n-webkit-align-self: ${1:center};\nalign-self: ${1:center};",
163 | "as:b": "-ms-flex-item-align: ${1:baseline};\n-webkit-align-self: ${1:baseline};\nalign-self: ${1:baseline};",
164 | "as:s": "-ms-flex-item-align: ${1:stretch};\n-webkit-align-self: ${1:stretch};\nalign-self: ${1:stretch};",
165 |
166 | "od": "-webkit-box-ordinal-group: ${1:1};\n-moz-box-ordinal-group: ${1:1};\n-webkit-order: ${1:0};\n-ms-flex-order: ${1:0};\norder: ${1:0};"
167 | }
168 | },
169 |
170 | "html": {
171 | "filters": "html",
172 | "profile": "html",
173 | "snippets": {
174 | "cube": "http://g.tbcdn.cn/thx/cube/${child}${1:1.0.8}/${2:cube-min}.css",
175 | "neat": "http://g.tbcdn.cn/thx/cube/${child}${1:1.0.8}/${2:neat-min}.css",
176 | "type": "http://g.tbcdn.cn/thx/cube/${child}${1:1.0.8}/${2:type-min}.css",
177 | "cl": "class=\"${child}$1\"|",
178 | "id": "id=\"${child}$1\"|",
179 | "tit": "title=\"${child}$1\"|",
180 | "trb": "traget=\"_blank\"|",
181 | "c": "$2",
182 | "cm": "\n\t${child}|\n",
183 | "style": "",
184 | "st": "",
185 | "styles": "",
186 | "sts": "",
187 | "script": "",
188 | "ab": "${child}|",
189 | "aj": "${child}|"
190 | },
191 |
192 | "abbreviations": {
193 | "mod": ".mod>.hd+.bd+.ft",
194 | "dib": ".dib-wrap>dib*2",
195 | "vimg": ".center-box>b.center-hack+.center-body>a.center-img>img",
196 | "vbox": ".center-box>b.center-hack+.center-content>p{未知高度垂直居中模块}",
197 | "vimg+": ".center-box>b.center-hack+.center-content>(.center-img>a>img)+p{未知高度垂直居中模块}"
198 | }
199 | }
200 | }
201 |
--------------------------------------------------------------------------------
/Emmet.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | // Emmet 偏好设置
3 | // Doc: http://docs.emmet.io/customization/preferences/
4 | "preferences": {
5 | "css.unitAliases": "c:ch, d:deg, g:grad, r:rad, t:turn, e:em, p:%, x:ex, r:rem",
6 | "css.keywords": "none, initial, unset, auto, inherit, all",
7 | "css.keywordAliases": "n:none, ih:inherit, ii:initial, db:double, u:unset, a:auto, s:solid, da:dashed, do:dotted, t:transparent",
8 | "css.unitlessProperties": "animation-iteration-count, counter-increment, font-size-adjust, flex-grow, flex-shrink, order, column-count, orphans, widows, shape-image-threshold, mask-box-outset, z-index, line-height, opacity, font-weight, zoom"
9 | },
10 |
11 | // 代码片段扩展
12 | // Doc: https://github.com/emmetio/emmet/blob/master/snippets.json
13 | "snippets": {
14 | "variables": {
15 | "lang": "zh-cn",
16 | "color": "#ccc",
17 | "bg-color": "#ccc"
18 | },
19 |
20 | "css": {
21 | "filters": "html",
22 | "snippets": {
23 | "co": "color:#${1:333};",
24 | "co:f": "color:#${fff};",
25 | "ccur":"color:currentColor;",
26 |
27 | "c:hsl": "color:hsl(${1:0}, ${2:0%}, ${3:0%});",
28 | "c:hsla": "color:hsla(${1:0}, ${2:0%}, ${3:0%}, .${4:5});",
29 | "bg:hsl": "background:hsl(${1:0}, ${2:0%}, ${3:0%});",
30 | "bg:hsla": "background:hsla(${1:0}, ${2:0%}, ${3:0%}, .${4:5});",
31 | "bgc:hsl": "background-color:hsl(${1:0}, ${2:0%}, ${3:0%});",
32 | "bgc:hsla": "background-color:hsla(${1:0}, ${2:0%}, ${3:0%}, .${4:5});",
33 |
34 | "ct": "content: '${1}';${2}",
35 |
36 | "objp": "object-position:${1:50%} ${2:50%};",
37 | "objp:c": "object-position:center center;",
38 | "objp:t": "object-position:top;",
39 |
40 | "objf": "object-fit:${fill};",
41 | "objf:ct": "object-fit:contain;",
42 | "objf:cv": "object-fit:cover;",
43 | "objf:s": "object-fit:scale-down;",
44 | "objf:n": "object-fit:none;",
45 |
46 | "ovs": "-ms-overflow-style: -ms-autohiding-scrollbar;\n-webkit-overflow-scrolling: touch;",
47 |
48 | "imgr": "image-resolution:from-image;",
49 | "imgr:s": "image-resolution:snap;",
50 | "imgr:fs": "image-resolution:from-image snap;",
51 | "imgr:sf": "image-resolution:snap from-image;",
52 | "imgr+": "image-resolution:300dpi from-image snap;",
53 |
54 | "imgo": "image-orientation:;",
55 |
56 | "c": "/* $1 */|",
57 | "cm": "/**\n * $1\n${2:${4: * @file: }\n${5: * @author: }\n${6: * @update: }\n${7: * @note: }\n${8: * @doc: }}\n */\n|",
58 | "c1": "/* ==========================================================================\n ${1:1级区块标题}\n ========================================================================== */\n|",
59 | "c2": "/* --------------------------------------------------------------------------\n ${1:2级区块标题}\n -------------------------------------------------------------------------- */\n|",
60 | "fsm": "-webkit-font-smoothing: antialiased;\n-moz-osx-font-smoothing: grayscale; /* Firefox 25+ */",
61 | "fsm:s": "-webkit-font-smoothing: subpixel-antialiased; /* 默认值 */",
62 | "fsm:a": "-webkit-font-smoothing: auto;\n-moz-osx-font-smoothing: auto;",
63 | "fsm:n": "-webkit-font-smoothing: none;",
64 |
65 | "f": "float:${none};",
66 | "f:n": "float:${none};",
67 | "f:l": "float:left;",
68 | "fl": "float:left;",
69 | "f:r": "float:right;",
70 |
71 | "fo": "font:|;",
72 | "fst": "font-style:${normal};",
73 | "fst:n": "font-style:normal;",
74 | "fst:i": "font-style:italic;",
75 | "fst:o": "font-style:oblique;",
76 | "fs": "font-size:${medium};",
77 | "fsa": "font-size-adjust:|;",
78 | "fsa:n": "font-size-adjust:none;",
79 |
80 | "@c": "@charset \"utf-8\";",
81 | "@f": "@font-face {\n\tfont-family: |;\n\tsrc: local('|'), url(|);|\n}",
82 |
83 | "@kf": "@-webkit-keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n@-moz-keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n}\n@-o-keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n}\n@keyframes ${1:identifier} {\n\t${2:0%} {\n\t\t${3}\n\t}${6}\n\t${4:100%} {\n\t\t${5}\n\t}\n}\n}",
84 |
85 | "@ff": "@font-face {\n\tfont-family: '${1:FontName}';\n\tsrc: url('${2:FileName}.eot'); /* IE9+ */\n\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\n\t\t url('${2:FileName}.woff') format('woff'), /* Chrome,Firefox */\n\t\t url('${2:FileName}.ttf') format('truetype'), /* Chrome,Firefox,Opera,Safari,Android, iOS 4.2+ */\n\t\t url('${2:FileName}.svg#${1:FontName}') format('svg'); /* iOS 4.1- */${3}\n}",
86 | "unicode-range": "unicode-range: U+0-10FFFF; /* 默认值 */",
87 | "src:l": "src:\n\tlocal('${1:font-name}'),\n\turl(${2:font-url});",
88 |
89 | "placeholder": "/* Firefox 18- */\ninput:-moz-placeholder, textarea:-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* Firefox 19+ */\ninput::-moz-placeholder, textarea::-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* IE10+ */\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n\tcolor: ${1:darkGray};\n}\ninput::-webkit-input-placeholder, textarea::-webkit-input-placeholder {\n\tcolor: ${1:darkGray};\n}",
90 | "placeholderfocus": "/* Firefox 18- */\ninput:focus:-moz-placeholder, textarea:focus:-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* Firefox 19+ */\ninput:focus::-moz-placeholder, textarea:focus::-moz-placeholder {\n\tcolor: ${1:darkGray};\n}\n/* IE10+ */\ninput:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {\n\tcolor: ${1:darkGray};\n}\ninput:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {\n\tcolor: ${1:darkGray};\n}",
91 | "selection": "::-moz-selection{\n\tbackground: #${1:b3d4fc};\n\ttext-shadow: none;\n}\n::selection{\n\tbackground: #${1:b3d4fc};\n\ttext-shadow: none;\n}",
92 | "clip": "clip: rect(${1:0px}, ${1:0px}, ${1:0px}, ${1:0px});",
93 | "clip:inset": "clip: inset(${1:0px}, ${1:0px}, ${1:0px}, ${1:0px});",
94 | "transparent": "transparent",
95 | "bdra": "border-radius:|;",
96 | "bdra+": "border-top-left-radius: ${1};\nborder-top-right-radius: ${1};\nborder-bottom-right-radius: ${1};\nborder-bottom-left-radius: ${1};\nborder-radius: ${1};",
97 | "bg": "background:url(${1}) ${2:0} ${3:0}${4: ${5:no-}repeat${6}};",
98 | "bg+": "background:${1:#fff }url(${2}) ${3:50%} ${4:50%}${5: ${6:no-}repeat${7}};",
99 | "bg2": "background: url(${2:图片1}) ${3:50%} ${4:50%} / ${5:(bg-size)}${6:100%}${7:,contain} ${8:no-repeat} ${9:(bg-origin)}${10:padding-box} ${11:(bg-clip)}${12:border-box} ${13:fixed},\n url(${14:图片2}) ${15:#fff};/* 背景色始终写到最后 */\n|",
100 | "bg3": "background: url(${2:图片1}) ${3:50%} ${4:50%} / ${5:(bg-size)}${6:100%}${7:,contain} ${8:no-repeat} ${9:(bg-origin)}${10:padding-box} ${11:(bg-clip)}${12:border-box} ${13:fixed},\n url(${14:图片2}) ${15:50%} ${16:50%} ${17:no-repeat},\n url(${18:图片3}) ${19:50%} ${20:50%} ${21:no-repeat} ${22:#fff};/* 背景色始终写到最后 */\n|",
101 |
102 | "bg:ie": "_background: none;\n_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${1:x.png}', sizingMethod='${2:crop}');",
103 |
104 | "bgr": "background-repeat: no-repeat;",
105 | "bgr:sp": "background-repeat: space; /* 自动缩放直到适应且填充满整个容器 */",
106 | "bgr:rd": "background-repeat: round; /* 以相同的间距平铺且填充满整个容器或某个方向 */",
107 | "bga:l": "background-attachment: local;",
108 | "bgp": "background-position: ${1:x} ${2:y};",
109 | "bgp+": "background-position: ${1:bottom 10px} ${2:right 10px};",
110 | "bgo": "background-origin: padding-box;",
111 | "bgcp": "background-clip: border-box;",
112 | "bgcp:t": "background-clip: text; /* 仅 WebKit 支持 */",
113 | "bgsz:ct": "background-size: contain; /* 等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内 */",
114 | "bgsz:cv": "background-size: cover; /* 等比缩放到完全覆盖容器,背景图像有可能超出容器 */",
115 | "bgi:s": "background-image: -webkit-image-set(\n url(${1}) 1x,\n url(${2}) 2x); /* Retina Safari 6+,Chrome 21+ */\n",
116 | "bgi+": "@media\n\tonly screen and (-o-min-device-pixel-ratio: 2/1), /* Opera */\n\tonly screen and (min--moz-device-pixel-ratio: 2), /* Firefox 16 之前 */\n\tonly screen and (-moz-min-device-pixel-ratio: 2), /* Firefox */\n\tonly screen and (-webkit-min-device-pixel-ratio: 2), /* WebKit */\n\tonly screen and (min-resolution: 192dpi), /* 不支持dppx的浏览器 */\n\tonly screen and (min-resolution: 2dppx) /* 标准 */\n{\n\t${1:.selector}{\n\t\tbackground-image:url(${2});/* Retina */\n\t\tbackground-size: ${3:图片宽度÷2}px ${4:图片高度÷2}px;\n\t}\n}\n",
117 | "checked": ":checked {\n\t|${child}\n}",
118 | "rsz": "resize:both;\noverflow:auto;",
119 | "rsz:b": "resize:both;\noverflow:auto;",
120 | "rsz:h": "resize:horizontal;\noverflow:auto;",
121 | "rsz:v": "resize:vertical;\noverflow:auto;",
122 | "k": "{\n\t|${child}\n}",
123 |
124 | "d:fx": "display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */\ndisplay: -moz-box; /* Firefox 17- */\ndisplay: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */\ndisplay: -moz-flex; /* Firefox 18+ */\ndisplay: -ms-flexbox; /* IE 10 */\ndisplay: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */",
125 | "d:ifx": "display: -ms-inline-flexbox;\ndisplay: -webkit-inline-flex;\ndisplay: -moz-inline-flex; /* Firefox 18+ */\ndisplay: inline-flex;",
126 |
127 | "fx": "/* 伸缩容器内的子元素如何分配空间 */\n-webkit-box-flex: ${1:0};\n-moz-box-flex: ${1:0};\n-webkit-flex: ${1:0} ${2:1} ${3:auto};\n-ms-flex: ${1:0} ${2:1} ${3:auto};\nflex: ${1:0} ${2:1} ${3:auto};",
128 |
129 | "fxg": "/* 伸缩项目的扩展比率 */\n-webkit-flex-grow: ${1:0}; /* Chrome 21+ */\n-moz-flex-grow: ${1:0}; /* Firefox 18-20 */\nflex-grow: ${1:0}; /* Chrome 29+, Opera 12.1 */",
130 |
131 | "fxs": "/* 伸缩项目的收缩比率 */\n-webkit-flex-shrink: ${1:1}; /* Chrome 21+ */\n-moz-flex-shrink: ${1:1}; /* Firefox 18-20 */\nflex-shrink: ${1:1}; /* Chrome 29+, Opera 12.1 */",
132 |
133 | "fxb": "/* 伸缩基准值 */\n-webkit-flex-basis: ${1:auto}; /* Chrome 21+ */\n-moz-flex-basis: ${1:auto}; /* Firefox 18-22 */\nflex-basis: ${1:auto}; /* Chrome 29+, Opera 12.1 */",
134 |
135 | "fxf": "-webkit-flex-flow:${1:row} ${2:nowrap};\nflex-flow:${1:row} ${2:nowrap}; /* Fiefox 28+ */",
136 | "fxf:rw": "-webkit-flex-flow:${1:row} ${2:wrap};\nflex-flow:${1:row} ${2:wrap};",
137 | "fxf:cn": "-webkit-flex-flow:${1:column} ${2:nowrap};\nflex-flow:${1:column} ${2:nowrap};",
138 | "fxf:cw": "-webkit-flex-flow:${1:column} ${2:wrap};\nflex-flow:${1:column} ${2:wrap};",
139 | "fxf:cwr": "-webkit-flex-flow:${1:column} ${2:wrap-reverse};\nflex-flow:${1:column} ${2:wrap-reverse};",
140 |
141 | "fxw": "-webkit-flex-wrap: ${1:nowrap};\n-ms-flex-wrap: ${1:nowrap};\nflex-wrap: ${1:nowrap};/* Fiefox 28+ */",
142 | "fxw:w": "-webkit-flex-wrap: ${1:wrap};\n-ms-flex-wrap: ${1:wrap};\nflex-wrap: ${1:wrap};",
143 | "fxw:wr": "-webkit-flex-wrap: ${1:wrap-reverse};\n-ms-flex-wrap: ${1:wrap-reverse};\nflex-wrap: ${1:wrap-reverse};",
144 |
145 | "fx:d": "-webkit-box-direction: ${1:normal};\n-moz-box-direction: ${1:normal};\n-webkit-box-orient: ${2:horizontal};\n-moz-box-orient: ${2:horizontal};\n-webkit-flex-direction: ${3:row};\n-ms-flex-direction: ${3:row};\nflex-direction: ${3:row};",
146 | "fx:drr": "-webkit-box-direction: ${1:reverse};\n-moz-box-direction: ${1:reverse};\n-webkit-box-orient: ${2:horizontal};\n-moz-box-orient: ${2:horizontal};\n-webkit-flex-direction: ${3:row-reverse};\n-ms-flex-direction: ${3:row-reverse};\nflex-direction: ${3:row-reverse};",
147 | "fx:dc": "-webkit-box-direction: ${1:normal};\n-moz-box-direction: ${1:normal};\n-webkit-box-orient: ${2:vertical};\n-moz-box-orient: ${2:vertical};\n-webkit-flex-direction: ${3:column};\n-ms-flex-direction: ${3:column};\nflex-direction: ${3:column};",
148 | "fx:dcr": "-webkit-box-direction: ${1:reverse};\n-moz-box-direction: ${1:reverse};\n-webkit-box-orient: ${2:vertical};\n-moz-box-orient: ${2:vertical};\n-webkit-flex-direction: ${3:column-reverse};\n-ms-flex-direction: ${3:column-reverse};\nflex-direction: ${3:column-reverse};",
149 |
150 | "jc": "-webkit-box-pack: ${1:start};\n-moz-box-pack: ${1:start};\n-ms-flex-pack: ${1:start};\n-webkit-justify-content: flex-${2:start};\njustify-content: flex-${2:start};",
151 | "jc:e": "-webkit-box-pack: ${1:end};\n-moz-box-pack: ${1:end};\n-ms-flex-pack: ${1:end};\n-webkit-justify-content: flex-${2:end};\njustify-content: flex-${2:end};",
152 | "jc:c": "-webkit-box-pack: center;\n-moz-box-pack: center;\n-ms-flex-pack: center;\n-webkit-justify-content: center;\njustify-content: center;",
153 |
154 | "jc:sb": "-webkit-box-pack: ${1:justify};\n-moz-box-pack: ${1:justify};\n-ms-flex-pack: ${1:justify};\n-webkit-justify-content: ${2:space-between};\njustify-content: ${2:space-between};",
155 |
156 | "jc:sa": "/* 旧版 flex 不支持 */-ms-flex-pack: ${2:distribute};\n-webkit-justify-content: ${3:space-around};\njustify-content: ${3:space-around};",
157 |
158 |
159 | "ac": "-ms-flex-line-pack: ${1:stretch};\n-webkit-align-content: ${1:stretch};\nalign-content: ${1:stretch};",
160 | "ac:fs": "-ms-flex-line-pack: ${2:start};\n-webkit-align-content: flex-${1:start};\nalign-content: flex-${1:start};",
161 | "ac:fe": "-ms-flex-line-pack: ${2:end};\n-webkit-align-content: flex-${1:end};\nalign-content: flex-${1:end};",
162 | "ac:c": "-ms-flex-line-pack: ${1:center};\n-webkit-align-content: ${1:center};\nalign-content: ${1:center};",
163 | "ac:sb": "-ms-flex-line-pack: ${2:justify};\n-webkit-align-content: ${1:space-between};\nalign-content: ${1:space-between};",
164 | "ac:sa": "-ms-flex-line-pack: ${2:distribute};\n-webkit-align-content: ${1:space-around};\nalign-content: ${1:space-around};",
165 |
166 | "ai": "-webkit-box-align: ${1:stretch};\n-moz-box-align: ${1:stretch};\n-ms-flex-align: ${1:stretch};\n-webkit-align-items: ${1:stretch};\nalign-items: ${1:stretch};",
167 | "ai:fs": "-webkit-box-align: ${1:start};\n-moz-box-align: ${1:start};\n-ms-flex-align: ${1:start};\n-webkit-align-items: ${2:flex-start};\nalign-items: ${2:flex-start};",
168 | "ai:fe": "-webkit-box-align: ${1:end};\n-moz-box-align: ${1:end};\n-ms-flex-align: ${1:end};\n-webkit-align-items: ${2:flex-end};\nalign-items: ${2:flex-end};",
169 | "ai:c": "-webkit-box-align: ${1:center};\n-moz-box-align: ${1:center};\n-ms-flex-align: ${1:center};\n-webkit-align-items: ${1:center};\nalign-items: ${1:center};",
170 | "ai:b": "-webkit-box-align: ${1:baseline};\n-moz-box-align: ${1:baseline};\n-ms-flex-align: ${1:baseline};\n-webkit-align-items: ${1:baseline};\nalign-items: ${1:baseline};",
171 |
172 | "as": "-ms-flex-item-align: ${1:auto};\n-webkit-align-self: ${1:auto};\nalign-self: ${1:auto};",
173 | "as:fs": "-ms-flex-item-align: ${2:start};\n-webkit-align-self: ${1:flex-start};\nalign-self: ${1:flex-start};",
174 | "as:fe": "-ms-flex-item-align: ${2:end};\n-webkit-align-self: ${1:flex-end};\nalign-self: ${1:flex-end};",
175 | "as:c": "-ms-flex-item-align: ${1:center};\n-webkit-align-self: ${1:center};\nalign-self: ${1:center};",
176 | "as:b": "-ms-flex-item-align: ${1:baseline};\n-webkit-align-self: ${1:baseline};\nalign-self: ${1:baseline};",
177 | "as:s": "-ms-flex-item-align: ${1:stretch};\n-webkit-align-self: ${1:stretch};\nalign-self: ${1:stretch};",
178 |
179 | "od": "-webkit-box-ordinal-group: ${1:1};\n-moz-box-ordinal-group: ${1:1};\n-webkit-order: ${1:0};\n-ms-flex-order: ${1:0};\norder: ${1:0};"
180 | }
181 | },
182 |
183 | "html": {
184 | "filters": "html",
185 | "profile": "html",
186 | "snippets": {
187 | "cube": "http://g.tbcdn.cn/thx/cube/${child}${1:1.0.8}/${2:cube-min}.css",
188 | "neat": "http://g.tbcdn.cn/thx/cube/${child}${1:1.0.8}/${2:neat-min}.css",
189 | "type": "http://g.tbcdn.cn/thx/cube/${child}${1:1.0.8}/${2:type-min}.css",
190 | "cl": "class=\"${child}$1\"|",
191 | "id": "id=\"${child}$1\"|",
192 | "tit": "title=\"${child}$1\"|",
193 | "trb": "traget=\"_blank\"|",
194 | "c": "$2",
195 | "cm": "\n\t${child}|\n",
196 | "style": "",
197 | "st": "",
198 | "styles": "",
199 | "sts": "",
200 | "script": "",
201 | "ab": "${child}${2}",
202 | "aj": "${child}|"
203 | },
204 |
205 | "abbreviations": {
206 | "mod": ".mod>.hd+.bd+.ft",
207 | "dib": ".dib-wrap>dib*2",
208 | "vimg": ".center-box>b.center-hack+.center-body>a.center-img>img",
209 | "vbox": ".center-box>b.center-hack+.center-content>p{未知高度垂直居中模块}",
210 | "vimg+": ".center-box>b.center-hack+.center-content>(.center-img>a>img)+p{未知高度垂直居中模块}"
211 | }
212 | }
213 | }
214 |
215 | }
216 |
--------------------------------------------------------------------------------