前端集合 - 关注前端技术和互联网免费资源

关注前端技术和互联网免费资源

分类儿

页面儿

搜索儿

前端集合 RSS订阅
Home » 技巧应用 » 为什么Sublime Text中input, img等标签没有闭合?

为什么Sublime Text中input, img等标签没有闭合?

发布者:前端集合 // 发布时间:2014-01-12 15:15:03 // 分类:技巧应用 // 访问: 18,652 次 // 热度:

Sublime Text是个神器, 平时经常用.

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

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

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

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

image

点击'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等标签都闭合?

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

点击如下地方,

image

添加如下代码:

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

大功告成...

从这个小细节也可以看出Emmet作者是个知识丰富, 考虑问题全面的人, 牛X...

Tags: sublime text, Sublime Text input, Sublime Text img, sublime text标签没有闭合, sublime text input img闭合

2013有花有赚这一年>>  << 每到年底, 都需要那么一个回顾和总结
Top