在 IE6 中,空段落后面的段落以空段落的背景颜色显示,我猜这是错误的!它在 Firefox 中可以正常工作,但我没有检查过 IE7。
是否有针对此问题的 CSS 解决方案,或者我是否必须删除空元素?
(我宁愿不必删除空元素,因为这涉及编写代码以在输出之前检查每个元素是否为空)
使用严格或过渡文档类型的行为没有改变(添加此评论以响应答案)
有趣的是,文本颜色不会出现这种效果,只有背景颜色。
<html>
<head>
</head>
<body>
<p style='background-color:green'>Green content</p>
<p style='background-color:red'>Red content</p>
<p>Unstyled background working because previous red element is not empty</p>
<p style='background-color:green'>Green content</p>
<p style='background-color:red'></p>
<p>Unstyled background broken because previous red element is empty</p>
<p style='color:green'>Green content</p>
<p style='color:red'>Red content</p>
<p>Unstyled text color working because previous red element is not empty</p>
<p style='color:green'>Green content</p>
<p style='color:red'></p>
<p>Unstyled text color working even though previous red element is empty</p>
</body>
</html>