float: left的占用位置问题

float: left会使元素脱离文本流,但其原本位置会被保留,所以被用来做“文字环绕”的效果。
但是我发现,如果其后的元素是块级元素,它的位置还是会被这个块级元素占用了,先看图片:



如图,div2会占用了div1的位置,但如果div2的元素不是div,是其他行内元素,如span,就不会占用div1的位置。
我再将div2的元素又换为h1这个块级元素,发现又占用了div1的位置。
综上所述,如div2的元素的块级的,会占用了div1原本的位置,可是这个如我本来对float: left的认知大相径庭。
为什么块级元素会占用了float元素原本的位置,而行内元素不会呢?
#前端工程师#
全部评论
浮动框不属于文档中的普通流,当一个元素浮动之后,不会影响到块级框的布局而只会影响内联框(通常是文本)的排列
点赞 回复
分享
发布于 2017-10-02 19:36
看看浮动元素对自身元素,兄弟元素的影响
点赞 回复
分享
发布于 2017-10-03 07:02
联易融
校招火热招聘中
官网直投

相关推荐

点赞 评论 收藏
转发
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务