当前位置:  开发笔记 > 编程语言 > 正文

关闭斜线之前的空间?

如何解决《关闭斜线之前的空间?》经验,为你挑选了3个好方法。

我经常在XML和HTML标记的结尾斜杠之前看到一个空格.XHTML换行符可能是规范的例子:


代替:


这个空间似乎是多余的.事实上,我认为这是多余的.

写这个空间的原因是什么?

我已经读到这个空间解决了一些"向后兼容性问题".哪些向后兼容性问题?这些问题是否仍然相关,或者我们是否仍然为IE3兼容性添加额外的空间?是否存在一些关于此的确定答案的规范?

如果不是向后兼容性,那么它是否是可读性问题?类似于Great Open Curly Brace辩论?

void it_goes_up_here() {

int no_you_fool_it_goes_down_there()
{

我当然可以尊重不同的风格意见,所以我很高兴得知,写作空间只是一种品味问题.



1> Lee Kowalkow..:

答案是人们希望坚持附录XHTML1.0规范Ç.如果您将XHTML作为text/html提供,则只需要执行此操作.大多数人都这样做,因为XHTML的真实MIME类型(application/html + xml)在Internet Explorer中不起作用.

目前没有浏览器关心这个空间.浏览器对这些事情非常宽容.

过去需要的空间是确保HTML解析器将尾部斜杠视为无法识别的属性.


我认为http://www.w3.org/TR/xhtml1/#C_2是这个答案的更精确的链接.因此,似乎XHTML 1.0附录C2实际上是过时的,并且编写空间纯粹是一种品味.
实际上真正的mime类型是application/xhtml + xml.
@JanAagaard:我不知道,如果是这样的话,我会记得它 - 我开始在IE4和Netscape 4上进行网页开发.你所链接的答案也对这个效果有评论,它说它实际上是Netscape 3.
您能否更详细地说明“过去”?年份和/或浏览器版本可以,谢谢!

2> myf..:

Netscape 4.80显示了HTML和<br />在HTML中的不同行为

支持bobince的答案,屏幕截图显示Netscape 4.80文档

data:text/html,spacefoo
bar

(左上角,换行符)和

data:text/html,no spacefoo
bar

(左下角,忽略换行符).


张贴作为答案显示图片

切向相关:其实我有一个冗长的答案识别古老的浏览器的这种不当行为的原因中(和产生的建议,包括空格)误解SGML规范,即SGML空结束标记(NET)(这里1等于123这样12实际上意味着1>2),但不仅我无法找到好的证明和标准的具体版本,我甚至无法掌握适当的标准符合行为.如此少的原始链接供参考:

w3c验证器通知提到有问题的结束斜线并指向

SGML,HTML,XML和XHTML中的空元素@ www.cs.tut.fi/~jkorpela/

谨防XHTML:Null End Tags(NET)陈述,即

但是,仍有一些较小的用户代理正确支持Null End Tags.支持它的一个更着名的用户代理是W3C验证器.

(现在无法重现,但支持Lee Kowalkowski关于受此影响的多个浏览器的声明.)

XML W3C Working Draft 07-Aug-97 - 最新规范草案,其中包括DTD片段中Null End Tag的引用:NET "/>"



3> bobince..:

这些问题是否仍然相关,或者我们是否仍然为IE3兼容性添加了额外的空间?

你很亲密 - 它适用于Netscape 4.

看到其他的理性化很有意思,但这就是它的意思.


谢谢!你能为此提供参考吗?
推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有