Guf*_*ffa 12
div和span元素之间有两个区别:
div有display:block作为默认值,而跨距display:inline为默认值.div是一个块元素,可以包含块元素和内联元素,而它span是一个内联元素,只能包含其他内联元素.一旦你申请了display:inline-block他们的行为相同.
解析HTML代码时,不考虑样式.虽然您可以更改display样式以使元素的行为相同,但您仍然必须遵循HTML代码中的规则.
例如这是有效的:
<div>
<div>
<span></span>
</div>
<span></span>
</div>
Run Code Online (Sandbox Code Playgroud)
例如这是无效的:
<span>
<div>
<span></span>
</div>
<div></div>
</span>
Run Code Online (Sandbox Code Playgroud)
浏览器将尝试重新排列无效代码中的元素,这通常意味着它将div元素移动到元素之外span.由于HTML规范(在版本5之前)只告诉了如何处理正确的代码,每个浏览器都有自己的处理错误代码的方法.