关于浮动的疑问

来源:2-8 使用浮动后产生的问题

Annisa

2018-06-05 22:05:18

为什么当元素设置了浮动后,该元素就脱离了文档流,它之后的块级元素会顶上该元素的位置,但是在做文字环绕图片的效果的时候,为什么浮动的块级元素已经脱离了文档流,但是行内文字并不会顶上该浮动元素之前的位置,而是环绕在其周围呢?

这个在原理上感觉是互相矛盾的?

写回答

1回答

妮可妮可妮_

2018-06-06

使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。 

带有浮动属性的元素会脱离标准流进行排列布局,脱离标准流后的元素就不和块元素相处在同一个流不居中,使得带有浮动属性的元素漂浮在正常块元素上面。但是 浮动的块虽然脱离了正常的文档流,但是依然占据正常文档流的文本空间。于是在其后面写的文本并不会被浮动元素所覆盖而是继续水平排列超出换行。

标准流中块元素每个各占一行。内联元素则是水平排列,直到一行排列不下进行换行操作。因为使用了float的元素占据文本空间,使得后面的文本以除了浮动元素之外的空间为排列基准,形成了文本环绕的效果。


0
hnnisa
h 非常感谢!
h018-06-15
共3条回复

0 学习 · 36712 问题

查看课程