html - float 一个内联元素不应该创建三个 block 级元素吗?

标签 html css

这是我的疑问。如果我 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/

相关文章:

css - 从底部旋转图像

css - 使用 CSS3 转换的垂直制表符 :rotate attribute positioning difficulties

javascript - 在 Chrome 中附加带有图像的 div

jquery - 在等待 getJSON 时显示加载 gif

javascript - 通过绑定(bind) 'ng-src' 获取元素不起作用,Protractor

html - 就 HTML、CSS 和浏览器而言,术语 "Normal Flow"和 "Out of Flow"的含义是什么?

Javascript 打印不适用于 css 更改

javascript - 替换 ul 列表子元素

javascript - SVG 在最大尺寸处拉伸(stretch)然后填充其余尺寸

jquery - div 聊天总是在最前面