为什么<div>与<div> </div> </div>的处理方式不同

时间:2010-01-25 20:49:08

标签: html css

我只是测试了这个并且在IE8和&amp; Chrome我看到同样的事情,空(样式)div的呈现方式也不同,具体取决于你的做法。这让我感到很恼火,因为前者似乎更加整洁。

为什么?

编辑:感谢您对XHTML Vs HTML的澄清。目前我有这个:

<html>
<head>
<meta http-equiv="Content-Language" content="en-gb" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Test</title>

什么是更好的选择?我更喜欢XHTML,因为我相信它更好一些。

3 个答案:

答案 0 :(得分:19)

在XHTML中(Content-Type提供application/xhtml+xml),<div />确实有用。但是在HTML模式(text/html)中,则没有; HTML不是XML,并且无法识别XML空标记语法。

答案 1 :(得分:6)

<div />是无效的标记。由于div不能自动关闭(它只会渲染一个空div),因此某些浏览器可能会以不同方式呈现它。 div(和spans)的HTML 4.01 specs状态必须同时包含开始和结束标记。

另请查看this question

答案 2 :(得分:5)

XHTMLHTML的工作方式不同。

XHTML中,2是相同的,在语义上没有区别。

在普通HTML中,您无法自行关闭代码。让你的标签自我关闭也不错,它只是没有区别。自闭合被忽略了。

因此,在普通HTML <div/>中,<div>被视为永不关闭的</div>。因此,您需要HTML来关闭代码。

{{1}}个浏览器有一个硬编码的自闭标签列表,并为您处理。