您的位置:首页 > 其它

sublime text3中使用Emmet部分标签无法闭合

2014-06-11 08:24 183 查看
转载自:http://geek100.com/2490/

不过很早就发现br,input, img在sublime text中是没有闭合标签 / 的. 我一般都是手动补上的, 今天突然想起这个问题, 所以想把原因搞清楚.

一. 以为是snippets.json的配置有问题

我们知道, sublime text中的emmet自动补全是有个配置文件来决定每个标签的补全代码是怎么样的.

所以我首先想到的是去查看这个文件:



点击'browse packages' –> Emmet –> emmet –> snippets.json, 发现里面的input, img 和 meta等标签都是有 / 的. 但是在编辑器里运行就没有了. 想想也是, emmet用的人这么多, 不可能犯这种低级错误.

二. 真正的原因: 不同的doctype

于是继续在网上搜索一番, 发现 / 消失的原因是不同的doctype引起的:


1. 只有在html:xt, 也就是XHTML 1.0 模式下 / 才会出现;

2. 在其他模式, 即使是html:5 <!doctype html>下面 / 也是没有闭合的. 我猜是因为HTML5没有严格的要求input img等标签闭合还是不闭合.


三. 如何解决: 让所有doctype下 / 都出现, input img等标签都闭合?

了解了原因后, 修改就简单了:

点击如下地方,



添加如下代码:


{
"syntaxProfiles": {
// Enable XHTML dialect for HTML syntax
"html": "xhtml"
}
}


大功告成...

从这个小细节也可以看出Emmet作者是个知识丰富, 考虑问题全面的人, 牛X...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: