标记元素是无需“封闭自身”的,这就造成了html规范本身的不严谨,所以后来参考了更规范的XML语言的语法推出了xhtml。
在xhtml中所有类似br这样的孤立标签都需要自行封闭,具体的做法就是在标签名字的后面跟个“/”,例如,因此,是没有
这个写法的。从逻辑上讲=
...
,这样做的目的是为了尽量减少网页的代码量,同时保持逻辑严谨。
按照xhtml的标准,标签都必须成对出现,不能成对的标签也需要结束符
所以br的写法包括
其实你写个代码测试一下就知道,
这样写不表示换行一次,而是两次
HTML是SGML的子集,SGML允许标签没有结束标签,而换行符元素正好不需要内嵌元素,也就不需要结束标签。所以在HTML中,应该写成
。
XHTML是XML的子集,在XML中,标签必须要有结束标签。所以在XHTML中只写
是不符合语法的,必须写成
或简写成。
在XHTML的发展过程中,要做到兼容旧的HTML浏览器。而旧的HTML浏览器不理解(错误理解)这两种写法,对于第一种写法,某些浏览器估计会理解成两个
标签(我没有资料证明这一点),对于第二种写法,某些浏览器会理解成一个叫"br/"的标签。所以在兼容HTML的XHTML中我们通常把它写成,这样在HTML解析中会理解成有一个叫"/"的属性的"br"标签,在XML解析中仍然会理解成
的简写,达到了两全其美的效果。
浏览器支持
所有浏览器都支持
标签。
HTML 与XHTML 之间的差异
在HTML 中,
标签没有结束标签。
在XHTML 中,
标签必须被正确地关闭,比如这样:。