如何让两个子div在大的div里并排显示?关于float:left的具体作用是什么。

想要让两个div(a和b)在大div里,并排显示。
情况1:对a设置css样式float:left;对b没有设置float:left;之后两个并排的div都显示在一行,而且b被a遮住了。
情况2:对a和b都设置float:left,则并排div,正常显示出来,b在a后面。
情况3:对b设置float:left,a不设置,则b在a的下面一行显示出来。
想问一下,float:left的具体作用是什么,为什么会出现情况1和情况2的区别。

float:left就是左浮动呗,那么多理论都白扯的。要素如下:
首先,a和b两个div的宽度相加不能大于父层的div宽度,否则折行。
其次,标准写法a和b都要设置float:left。
然后为了兼容浏览器需要增加一个clear的样式放在ab两个div的下面。这样,如果在大div里面再增加其他div就不会出现大片空白,并且其他div也不会被遮挡。
.clear{clear:both;height:0;overflow:hidden;width:100%;margin:0;padding:0; }
另外,在层上面浮动元素可以使用position,定位清晰准确、层次分明。至于使用方法就自己多多的参考吧。 挺麻烦的就不多写了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-09
情况1:设置了float的div是在left这边,而没有设置float的会认为那里没有元素,所以第二个还是在第一个的位置
情况2:都设置了float,那b就知道那个位置有一个div,所以b就再a后面
情况3:float元素只会漂移在之前元素的后面。
float:漂移元素,使他定在右边或者左边,而其他元素会分布在漂移元素周围
所以漂移元素必须要指定width本回答被提问者采纳
第2个回答  2014-09-09
作为一名网页制作师,float属性石百用不厌的而且是必须熟练掌握的,网页分为浮动流和标准流。
float就是浮动流。
float主要作用是让元素脱离标准流变为浮动流,可以变相的理解为让一个元素同事具备行内元素和块儿级元素的属性,既能够实体化又能够在一行显示。

情况一:就好比是一个人飞起来飘在另一个的上面一样,飞起来的就是浮动流(浮动流是不占位的),站在地上的那个人就是标准流b,所以b被a遮住了,但是这种情况一般是不允许的在一个盒子内不能同时出现浮动流和标准流,要浮动都浮动。因为浮动的元素会影响到不浮动的元素

情况三:div是块儿级元素是独占一行的,所以a没浮动独占一行b就跑到了第二行。
相似回答