我试过检查其他答案,但我仍然感到困惑 - 特别是在看到W3schools HTML 5参考之后.
我认为HTML 4.01应该"允许"单个标签只是<img>和<br>.然后XHTML来一起<img />和<br />(如果有人说,空间是有旧的浏览器).
现在我想知道在练习HTML 5时我应该如何格式化我的代码.
__PRE__
是吗<br>,<br/>还是<br />?
Bri*_*ell 1479
简单<br>就足够了.
其他形式与XHTML兼容; 使得编写与XHTML相同的代码成为可能,并使其也可以用作HTML.一些生成HTML的系统可能基于XML生成器,因此无法仅输出裸<br>标签; 如果你使用这样的系统,它可以使用<br/>,如果你不需要它就没有必要.
然而,很少有人真正使用XHTML.您需要提供内容,application/xhtml+xml因为它被解释为XHTML,并且在旧版本的IE中不起作用 - 这也意味着您所做的任何小错误都会阻止您的页面显示在支持XHTML的浏览器中.因此,大多数在Web上看起来像XHTML的内容实际上都是作为HTML提供和解释的.有关更多信息,请参阅将XHTML作为text/html服务.
Daa*_*aan 217
我认为HTML 5参考草案中的这句话提供了答案:
但是,有些元素根本不包含任何内容.这些被称为空元素.在HTML中,上述语法不能用于void元素.对于此类元素,必须省略结束标记,因为解析器会自动关闭该元素.这些元素包括br,hr,link和meta等
HTML示例:
Run Code Online (Sandbox Code Playgroud)<hr>在XHTML中,XML语法要求规定必须使用显式结束标记(如上所述)或空元素语法使其显式化.这是通过在直角括号之前的开始标记的末尾插入斜杠来实现的.
例:
Run Code Online (Sandbox Code Playgroud)<hr/>作者可以选择在HTML语法中对void元素使用相同的语法.一些作者还选择在斜线之前包含空格,但这不是必需的.(以这种方式使用空格是继承自XHTML 1.0,附录C中的兼容性指南的约定.)
Mic*_*ker 133
XML不允许打开标签,因此它<br>比其他两个标签更糟糕.其他两个大致相当于第二个(<br/>),因为它与旧版浏览器兼容.实际上,/出于兼容性考虑,之前的空格是首选,但我认为只有具有属性的标签才有意义.所以我要么说<br/>或者<br />,无论哪个都取悦你的美学.
总结一下:这三个都是有效的,第一个(<br>)有点"便携".
编辑:既然我们对规格都很疯狂,我认为根据dev.w3.org的说法值得指出:
开始标记由以下部分组成,完全按以下顺序排列:
- 一个"<"字符.
- 元素的标签名称.
- 可选地,一个或多个属性,每个属性必须在一个或多个空格字符之后.
- 可选地,一个或多个空格字符.
- 可选地,"/"字符,仅当元素是void元素时才存在.
- 一个">"字符.
Jac*_*Dev 103
在HTML(最多HTML 4)中:使用<br>
在HTML 5:<br>是优选的,但<br/>并<br />也是可以接受
在XHTML中:<br />是首选.也可以用<br/>或<br></br>
笔记:
<br></br> 在HTML 5中无效,它将被视为两个换行符.<br/>但不是<br />参考:
sas*_*nin 20
XML要求所有标记都有相应的结束标记.因此,对于没有内部内容的标签,有一种特殊的简写语法.
HTML5不是XML,所以它不应该提出这样的要求.HTML 4.01也不是.
例如,在HTML5规范中,所有带br标记的示例都使用<br>语法,而不是<br/>.
UPD实际上,在HTML5中<br/>是允许的.9.1.2.1,7.
Kme*_*ner 20
我建议使用<br />,原因如下:
1)突出显示不同颜色的XML语法的文本和XML编辑器将使用<br />正确突出显示,但如果您使用<br>,情况并非总是如此
2)<br />与XHTML向后兼容,格式良好的HTML(即:XHTML)通常更容易验证错误和调试
3)一些旧的解析器和一些编码规范需要在结束斜杠之前的空格(即:<br />而不是<br/>),如WordPress插件编码规范:http://make.wordpress.org/core/手册/编码标准的/ HTML /
根据我的经验,我从未遇到过使用<br />存在问题的情况,但是,在许多情况下,旧版浏览器和工具中可能存在问题或特别是问题.
Min*_*ker 14
如果你对可比性(不兼容性,但可比性)感兴趣,那么我会坚持下去<br />.
否则,<br>很好.
kev*_*nji 12
两个<br>和<br />是可接受的,HTML5,但在HTML的精神,<br>应该被使用.HTML5允许关闭斜杠,以便与以前HTML 4.01和XHTML 1.0的文档更兼容,从而可以更轻松地迁移到HTML5.当然,<br/>也可以接受,但为了与一些旧的浏览器兼容,在结束斜杠(/)之前应该有一个空格.
Iai*_*ins 12
如果您在常规网站上输出HTML,则可以使用<br> 或者 <br/>,只要您将HTML5作为text/html提供,两者都有效.
如果您将HTML5作为XHTML提供(即内容类型application/xhtml + xml,带有XML声明),那么您必须使用自闭项标记,如下所示:<br/>.
如果不这样做,某些浏览器可能会拒绝渲染您的页面(特别是Firefox 对于仅渲染有效的xhtml + xml页面非常严格).
如1. <br/>中所述,也适用于HTML5,它恰好是作为XML生成的,但是在没有 XML声明的情况下用作常规text/html (例如来自生成网页的XSL转换,或类似的东西).
为了消除混淆:在HTML5中不需要在斜杠之前放置一个空格,并且对页面的呈现方式没有任何影响(如果有人能引用一个例子我会收回它,但我不相信它是的 - 但IE肯定会做很多其他奇怪的事情与所有形式的<br>标签).
http://validator.w3.org上的优秀验证器非常有助于检查什么是有效的(尽管我不确定你是否可以依赖它来检查内容类型).
Dan*_*ray 11
双方<br>并<br/>会做得很好,但我更喜欢<br/>,因为它是稍微更符合逻辑.只要有开始标记,期望结束标记是合乎逻辑的.因此,如果在没有结束标记的情况下不使用开始标记,则代码会更容易阅读.
所有浏览器(可能是一些非常旧的浏览器除外)都将显示两者完全相同.但是,<br>不是xHTML complient.
<br>和<br/>渲染方式不同.一些浏览器解释<br/>为<br></br>并插入两个换行符
<br>是足够的,但根据WHATWG并根据W3C,XHTML <br />是优选的.
引用第8.1.2.1的HTML 5.2 W3C推荐标准,2017年14月
开始标记必须具有以下格式:
...
在属性之后,或者在标记名称之后,如果没有属性,则可能存在一个或多个空格字符.(某些属性必须后跟空格.请参阅下面的§8.1.2.3属性.)
然后,如果元素是void元素之一,或者如果元素是外来元素,则可能存在单个U + 002F SOLIDUS字符(/).此字符对void元素没有影响,但在外部元素上,它将开始标记标记为自动关闭.
如果您使用Dreamweaver CS6,它将自动完成为<br />.
要在W3C上验证您的HTML文件,请参阅:http://validator.w3.org/
嗯......有谁知道曾经 100% 遵循 W3C 规范的单一供应商、用户代理或浏览器制造商吗???因此,如果 HTML5 表示它支持所有三个中断元素版本,那么您可以打赌供应商支持相同甚至更糟糕的版本!
在这场争论中唯一重要的是尽可能一致地使用同时遵循 XML 规范和 HTML 规范的编码。这意味着您应该使用正确的 XML 版本的中断标记,并鼓励您的所有团队也这样做:
<br />
Run Code Online (Sandbox Code Playgroud)
相同的空格斜杠格式应适用于代码中的 img、a、hr 和 meta 标记。为什么?因为:
此外,在机器人和机器世界中,机器人不存在 HTML5 为我们解决的人机界面编码问题,它们会很高兴回到 XML 数据系统,并在转换为 XML 时更快地解析此类 UI 网页数据。
小智 5
好吧,我所知道的是,它<br />会以白线中断,并且<br>在某些情况下会中断。当我设置 IPN 脚本 (PHP) 并发送邮件并检查收件箱时,这发生在我身上。不知道为什么,但我只得到了使用两者看起来整洁的消息<br /> and <br>
看看这里的邮件:http : //snag.gy/cLxUa.jpg
文本的前两部分由 分隔<br />,因此空白行,底部的最后三行文本和最后一部分由 分隔<br>,仅给出新行。
在 HTML 中的大多数情况下,标签是成对的。但是对于换行符,您不需要一对标签。因此,为了表明这一点,HTML 使用<br/>格式。<br/>是正确的。使用那种格式。
<br>标签在 HTML 中没有结束标签 在 XHTML 中,<br>标签必须正确关闭,如下所示:<br />
在 XML 中,每个标签都必须关闭。XHTML 是 XML 的扩展,因此对于有效的 XHTML,必须遵循 XML 的所有规则。因此,即使是空标签(没有子节点的节点)也
应该关闭。XML 有一个简短的形式,称为空节点的自结束标记。你可以写<br></br> as <br />。因此在 XHTML<br />中使用。
HTML在这方面是很宽容的,没有这样的规定。因此,在 HTML 中,诸如<br> <hr> <meta>etc 之类的空节点是在没有关闭正斜杠的情况下编写的。
HTML
<br>
<hr>
<meta name="keywords" content="">
<link rel="canonical" href="http://www.google.com/">
Run Code Online (Sandbox Code Playgroud)
XHTML
<br />
<hr />
<meta name="keywords" content="" />
<link rel="canonical" href="http://www.google.com/" />
Run Code Online (Sandbox Code Playgroud)
并非所有标签都可以自闭合。例如,<script src="jQuery.min.js" />XHTML DTD 不允许像这样的标签。
小智 5
在验证中,这个问题实际上取决于!DOCTYPE您要通过的验证。
我个人最喜欢的是4.01 Trans我仅使用的地方<br/>,它清除了验证期间可能弹出的警告和错误。
严格是一个更加复杂的野兽,它讨厌"SHORTTAGS"并且实际上只想要<br></br>
在HTML5代码世界的“ LAX”中,确实没有正确的答案,因为它detects every example you put up在那里是正确的……
最后,我认为所有问题is what validation YOU PREFER或the person that you are working for prefers...随着lackadaisical代码严格性的发展,html5我们看到了一些非常懒惰的编码器
| 归档时间: |
|
| 查看次数: |
1312252 次 |
| 最近记录: |