HTML5中,《br》《br/》《br /》三者的区别?

Posted 程宇寒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML5中,《br》《br/》《br /》三者的区别?相关的知识,希望对你有一定的参考价值。

html<br />和<br>的区别

<br>是HTML写法。 

<br/>是XHTML1.1的写法,也是XML写法。

<br />是XHTML为兼容HTML的写法,也是XML写法。

因为html5兼容XHTML写法,所以三种都可以使用,没有区别。
如果要省一到二个字节的文件大小,使用第一种。
如果要方便地转成XML而且也要省一个字节的文件大小,使用第二种。
如要要方便地转成XML而且要兼容老的浏览器,使用第三种。
因为HTML是SGML的子集,SGML允许标签没有结束标签,而换行符元素正好不需要内嵌元素,也就不需要结束标签。所以在HTML中,应该写成<br>。
因为XHTML是XML的子集,在XML中,标签必须要有结束标签。所以在XHTML中只写<br>是不符合语法规范的,必须写成<br></br>简写成<br/>

而在XHTML的发展过程中,要做到兼容旧的HTML浏览器。而旧的HTML浏览器不理解(错误理解)这两种写法,对于第一种<br></br>的写法,某些浏览器估计会理解成两个<br>标签(我没有资料证明这一点),对于第二种<br/>的写法,某些浏览器会理解成一个叫"br/"的标签。

所以在兼容HTML的XHTML中我们通常把它写成<br />,这样在HTML解析中会理解成有一个叫"/"的属性的"br"标签,在XML解析中仍然会理解成<br></br>的简写,达到了两全其美的效果。 

在早先发布的html规范中<br>、<hr>、<img>等标记元素是无需“封闭自身”的,这就造成了html规范本身的不严谨,所以后来参考了更规范的xml语言的语法推出了xhtml。

在xhtml中所有类似<br>这样的孤立标签都需要自行封闭,具体的做法就是在标签名字的后面跟个“/”,例如<br />,因此,是没有</br>这个写法的。从逻辑上讲<br />=<br>...</br>,这样做的目的是为了尽量减少网页的代码量,同时保持逻辑严谨。

按照xhtml的标准,标签都必须成对出现不能成对的标签也需要结束符,所以在XHTML中只写<br>是不符合语法规范的,所以<br>必须写成<br></br>简写成<br />

其实你写个代码测试一下就知道,<br></br>这样写不表示换行一次,而是两次。

 

HTML是SGML的子集,SGML允许标签没有结束标签,而换行符元素正好不需要内嵌元素,也就不需要结束标签。所以在HTML中,应该写成<br>。
因为XHTML是XML的子集,在XML中,标签必须要有结束标签。所以在XHTML中只写<br>是不符合语法规范的,必须写成<br></br>简写成<br/>

 

没有闭合的标签称为空标签,如:<br />和<img />和<hr />和<input />等等,他们不存在成对的情况,反之具有成对性质的例如:<div></div>、<form></form>就不是空标签

 像<br />这种写法是比较规范的!

规范写法如下:

 <br />

<hr />

<img />

<input />

所有浏览器都支持<br>标签。

HTML 与 XHTML 之间的差异

在 HTML 中,<br> 标签没有结束标签。

在 XHTML 中,<br> 标签必须被正确地关闭,比如这样:<br />

语法:

xhtml写法:<br />(是XHTML为兼容HTML的写法,也是XML写法)

html写法:<br>

现在一般使用xhtml的版本的写法(其它标签也是),这种版本比较规范

不同的标准规范的写法不一样,虽然有一定的通用性,但是在某些情况下还是有区别的!

以上是关于HTML5中,《br》《br/》《br /》三者的区别?的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 中的 SVG 标记可以省略自闭标签吗?

富文本编辑器中<br/>啥操作

Vagrant中的Kafka Cluster(ZK,BR,BR,BR)无法建立连接

.innerhtml 将 <br/> 标签转换为 <br>

div 纯文本中的新行,br

实验七