所以如果我有这样的
HTML标题
<h2>A Heading</h2>
我运行编辑 – >格式文档最终看起来像这样
<h2> A Heading</h2>
为什么是这样?它不会对其他块元素执行此操作,但它会对其他内联元素(例如< label>)执行此操作.
更新:为了澄清,我的意思是为什么这是默认的,而不是改变这个设置在哪里
解决方法
它是因为它们是默认设置.在较旧的浏览器中,有时在子元素(有效地留下空格,例如不间断空格或空文本节点)之后,在新行上具有块或内联元素的结束标记会影响页面的呈现方式.我以前有麻烦.例如,如果您的锚具有边框或填充,以下内容可能会出现问题:
<a> <img src="..." /> </a>
有时在链接底部会有额外的间距.将其更改为以下内容可以删除额外的间距:
<a><img src="..." /></a>
基本上,愚蠢的格式化解决了像IE6这样的CSS支持的浏览器中的一些渲染问题.如果您有IE6,请查看我创建的this JSFiddle来说明问题.图像底部有多个间距,锚标签存在于自己的行上.
If you format a selection of markup and see that a close tag hasn’t been moved to a separate line – it is because there is no space between the end of the preceding markup and the terminating tag,and as such VS is being careful not to change it to avoid changing the rendering semantics.
所以像Visual Studio中的设计器的格式化或输出一样丑陋,它比在正确格式化的标记(如XHTML)更有可能在更多的浏览器中工作.
要更改Visual Studio中的格式的默认值,请转到:
Tools > Options > Text Editor > HTML > Format > Tag Specific Options...