这是HTML页面的完整来源:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
one<br>
two<br />
three<br></br>
four
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么当我在IE8或Chrome中查看页面时,在"三"和"四"之间出现一个额外的空行?
我认为标准应该使所有浏览器看起来都一样,据我所知,这个页面符合XHTML过渡标准
因为XHTML规范 HTML Compatability Guidelines指定br 必须自行关闭.显然Chrome和IE8并未遵循规范并为您关闭打开的规格,从而创建了第二个换行符.
一些很好的答案了,但只是指出,HTML5实际上规定的是<br></br>应该被解析为两个<br>为text/html解析时开始标记.
见An end tag whose tag name is "br"在http://dev.w3.org/html5/spec/tokenization.html#parsing-main-inbody
Firefox 3.x只在quirks模式下执行此操作,但Firefox 4也在标准模式下执行此操作.