float问题

float问题

视频中说到,当设置浮动时,元素会脱离文档流,但是仍然占据正常文档流的文本空间,那为什么div会和test重合,而span却没有重合?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
卡布琦诺 2017-10-13 17:49:58

浮动遵循以下规则:

1、当下个紧邻元素是块级元素时,块级元素设置float:left,当前元素靠左排列,下个紧邻的块级元素将占据当前元素空间,且重合部分当前元素覆盖下一元素;

2、当下个紧邻元素是内联元素时,块级元素设置float:left,当前元素靠左排列,下个紧邻的内联元素将不换行紧邻当前元素进行排列;

  • F2merak #1
    1 1、这个span设置了文档流是什么意思? 2、那这个不是有点矛盾吗?test设置了float,文档流中的"位置空出来"了,下面的元素会占据它的位置。而文字会接着span元素"占据的位置"进行排版???
    2018-02-07 20:34:00
  • 卡布琦诺 回复 F2merak #2
    简单的理解就是: 带有浮动属性的元素具有 包裹 性,所有带有浮动属性的元素兼并了块元素和内联元素的优点,使得元素不仅可以设置宽度和高度,也可以在水平方向进行排列布局。带有浮动属性的元素会脱离标准流进行排列布局,脱离标准流后的元素就不和块元素相处在同一个流布局中,使得带有浮动属性的元素漂浮在正常块元素上面。但是 浮动的块虽然脱离了正常的文档流,但是依然占据正常文档流的文本空间。于是在其后面写的文本并不会被浮动元素所覆盖而是继续水平排列超出换行。标准流中块元素每个各占一行。内联元素则是水平排列,直到一行排列不下进行换行操作。因为使用了float的元素占据文本空间,使得后面的文本以除了浮动元素之外的空间为排列基准,形成了文本环绕的效果。
    2018-02-08 10:06:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师