XHTML和HTML之间的主要区别是什么?你认为哪一个更好,为什么?大多数浏览器都支持这两种吗?
答案 0 :(得分:18)
XHTML 基于 XML ,因此要求源格式良好。 由于XHTML比HTML更严格,因此渲染引擎需要较少的预处理。
XHTML应该作为application / xhtml + xml提供,以便您利用这些优势,否则XHTML将被视为普通的HTML。由于Internet Explorer无法处理XHTML,因此将其作为“application / xhtml + xml”提供在网络上并不常见。
答案 1 :(得分:18)
答案 2 :(得分:9)
答案 3 :(得分:9)
不同之处在于XHTML基于XML而HTML基于SGML。
浏览器将SGML解析器用于使用内容类型text/html
发送的内容和用于application/xhtml+xml
的XML解析器。
使用SGML解析器时,即使文件中遇到语法错误,浏览器也会继续解析。这就是为什么很多人认为他们在向浏览器发送外观文件时正在做XHTML的原因。这实际上是一个错误,因为这会在浏览器中触发许多解析错误并减慢渲染过程。
使用XML解析器时,浏览器将在遇到语法错误时停止解析并显示XML错误。这当然仅适用于具有HTML内容的XML解析器的浏览器,而对于仅下载文件而不显示该文件的Internet Explorer则不然。
那你该怎么做?
如果需要语法检查和XML强加的严格结构,则应使用XHTML。您应该记住,您必须使用错误的内容类型将XHTML内容发送到Internet Explorer,并隐含所有问题。您还应该记住,只要文件中包含无效内容,您的文档就会中断,因此您必须非常小心地清理任何用户输入。
您应该将HTML用于其他任何事情。 HTML只是工作,今天是一个非常支持的标准。即使是下一个标准HTML 5也定义了基于SGML的语法,因此这将持续。
请记住,无论您选择何种格式,验证输出始终是检测语法错误的好主意。
答案 4 :(得分:3)
这不是关于哪一个更好; HTML仍在继续发展,HTML5正在发展中(多年来,虽然:))并提供了一些新元素,以便更轻松地管理网页中的多媒体等新技术。
另一方面,XHTML是关于XML的严格性,我们应该说保持干净。如果你保持HTML文档的格式良好(关闭每个打开的元素,保持嵌套在树形中),你就可以充分利用XHTML / XML世界,并且仍然可以使用HTML格式,将文档声明为是HTML,但仍然保持'干净'(格式良好)。我认为我们不应该宣布他们每个人“更好”;他们可以共存。这只是我们以正确的方式做事。
答案 5 :(得分:3)
如前所述,XHTML应该(理论上)是有效的XML。理论上(但不是在实践中)不应该由浏览器呈现不符合标准的XHTML。
使用一个优于另一个很少有优势,所以只要你一直这样做,就写下你个人喜欢的。将成为未来网络标准的HTML5将同时支持XHTML和HTML 4.01风格的标签(之前通过可选的“XML序列化”),而XHTML2看起来就像在水中一样,没有供应商积极参与支持它。
答案 6 :(得分:1)
摘要:使用HTML。
有many differences,还有很多聪明的人(知道他们在说什么:D)have already summed up大多数利弊。
答案 7 :(得分:0)
差异的一个例子是break标记。
<br>
是正确的HTML,但在XHTML中,元素需要验证为XML,您必须自行关闭标记:
<br />