解决方法
div和span元素之间有两个不同之处:
> div显示:block为默认值,span为display:内联为默认值.
> div是块元素,可以包含块元素和内联元素,而span是内联元素,只能包含其他内联元素.
应用display:inline-block后,它们的行为相同.
解析HTML代码时,不考虑样式.虽然您可以更改显示样式以使元素的行为相同,但您仍然必须遵循HTML代码中的规则.
例如这是有效的:
<div> <div> <span></span> </div> <span></span> </div>
例如这是无效的:
<span> <div> <span></span> </div> <div></div> </span>
浏览器将尝试重新排列无效代码中的元素,这通常意味着它将div元素移动到span元素之外.由于HTML规范(版本5之前)只告诉了应该如何处理正确的代码,因此每个浏览器都有自己的处理错误代码的方法.