Gle*_*ven 13 html formatting visual-studio
所以,如果我有这样的HTML标题
<h2>A Heading</h2>
Run Code Online (Sandbox Code Playgroud)
我跑Edit -> Format Document它最终看起来像这样
<h2>
A Heading</h2>
Run Code Online (Sandbox Code Playgroud)
为什么是这样?它不会对其他块元素执行,但它会对其他内联元素执行此操作(例如<label>).
更新:澄清一下,我的意思是为什么这是默认设置,而不是更改设置的设置
Cᴏʀ*_*ᴏʀʏ 16
这样做是因为它们是默认设置.在较旧的浏览器中,有时在子元素之后的新行上具有块或内联元素的结束标记(有效地留下空格,例如非中断空格或空文本节点)会影响页面的呈现方式.我以前遇到过麻烦.例如,如果您的锚点有边框或填充,则以下内容可能会出现问题:
<a>
<img src="..." />
</a>
Run Code Online (Sandbox Code Playgroud)
有时在链接的底部会有额外的间距.将其更改为以下内容将删除额外的间距:
<a><img src="..." /></a>
Run Code Online (Sandbox Code Playgroud)
基本上,愚蠢的格式化解决了浏览器中的一些渲染问题,如IE6那样的伪劣CSS支持.如果您有IE6,请查看我创建的这个JSFiddle来说明问题.图像底部有额外的间距,锚标签存在于自己的行上.
如果格式化选择的标记并看到一个close标记没有被移动到一个单独的行 - 这是因为前面的标记的末尾和终止标记之间没有空格,因此VS小心不要更改它以避免更改呈现语义.
因此,与Visual Studio中的设计器的格式或输出一样丑陋,它更可能在比正确格式化标记(例如XHTML)更多的浏览器中工作.
要在Visual Studio中更改格式的默认值,请转到:
Tools > Options > Text Editor > HTML > Format > Tag Specific Options...
Run Code Online (Sandbox Code Playgroud)
在"默认设置"下,将客户端和服务器"标记支持内容"选项的"换行符"选项更改为"之前和之后".