这是我的疑问。如果我 float 一个内联元素,因为它的显示自动设置为 block ,并且由于 block 级元素的 sibling 本身必须是 block 级元素(如果必须,则为匿名元素),不应该在下面的示例中,第一个和第二个匿名 block 是否像 block 级元素默认那样放置在单独的行上?
<p>
This will be the first anonymous block, <span style="float: left;">this will
be the span</span>, and this will be the second anonymous block.
</p>
查看我的演示:http://tinkerbin.com/5niDbThT
请注意,当我在第二段的跨度上直接将显示设置为 block 时,会创建三个不同的 block 级元素 - 就像我想象的那样在 float 时会发生这种情况。
我的猜测是 float 只是一个不会触发效果的异常。但是你告诉我 ;)。提前致谢!
最佳答案
float 将对象从文档流中取出,这就是它显示的原因。
inline-block:“该元素作为内联元素放置(与相邻内容在同一行),但它表现为 block 元素”
您还可以“清除”将元素推过 float 对象的 dom 元素。最常用于具有主区域和并排右/左列的布局。
关于html - float 一个内联元素不应该创建三个 block 级元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9059307/