CSS+div布局中float:left具体解释? 5

情况1:在一个父div,里放着两个子div(a和b),想要并排显示,a的position:relative,b没有设置position,必须给a,b均加上float:le... 情况1:在一个父div,里放着两个子div (a 和b),想要并排显示,a的position:relative,b没有设置position,必须给a,b均加上float:left,才可以正常显示。如果,只给a加float:left,不给b加,则b显示在a的同一行,且a b重合。
情况2:在一个父div里面放着3个子div(a、b、c),想要ab一行,c在a b的下一行显示。a、b均设置了position:relative,c没有设置position,这个时候,如果给a设置float:left,b、c不设置则可以正常显示。或者a b c均设置float:left,也可以正常显示。
问:为什么在情况2里面,只给a,设置float:left,b不设置float,a、b也不会像情况1一样重合到一起?
如果能帮我分析一下各个情况的原因,那就最好不过了!
展开
 我来答
诶特顿
2014-09-10 · TA获得超过778个赞
知道小有建树答主
回答量:409
采纳率:75%
帮助的人:177万
展开全部
希望我的回答对你有帮助,用我的经验并且结合当初学习的教程:
看到你的问题首先针对的问题是float浮动问题,你得显示问题和position没有一丁点关系,因此ab显示和abc显示的问题就是简单的float设置问题,因此你所说的问题有没有设置position效果都是一样,你可以验证一下。css中float的守则就是如果浮动就都浮动,如果不浮动就都不浮动,这样能够很有效的解决你上面的问题,但是也有特殊的情况:例如父div中有abc,a不浮动,bc浮动。这样也显示正常。
至于原因我个人只能按照float脱离文档流来解释了(可以理解成脱离了正常的文档显示顺序)。不知道对你有没有帮助,下面给你一个w3c教程的地址,很权威的标准教程,慢慢学习吧http://www.w3school.com.cn/css/css_positioning_floating.asp
匿名用户
推荐于2018-03-24
展开全部
我尝试过您说的两种方法都是会重叠的
float浮动,会脱离文档流(但是文字不会),前面的div浮动了,后面的div就会上前占位,就会出现重叠,如果是情况二,前两个要一排,最后的div在下一排单独显示,就给最后的div加
clear:both;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
书香学编程
2021-01-20 · 贡献了超过775个回答
知道答主
回答量:775
采纳率:25%
帮助的人:54.5万
展开全部

Vue实践-CSS样式position/display/float属性对比使用

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式