├── 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 | ![Emmet plus animation demo](http://gtms01.alicdn.com/tps/i1/T1oIAwFXtgXXa1BMjv-707-735.gif) 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 |
110 | 111 |
112 |

未知高度垂直居中模块

113 |
114 |
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 | --------------------------------------------------------------------------------