楼主,你第一个问题是因为你所定义的.div1只让包住aaaaa的盒子漂浮了起来,但是aaaaa与bbbbb的内容还属于文本状态,文本状态会使不同标签中的内容,分行显示,也就是aaaaa在第一行,bbbbb在第二行的原因。而由于.div2没有漂浮,所以两者的盒子模型会叠加显示,造成了图一中蓝色只显示了20像素。
楼主对两者增加:display:inline;就可解决问题
第二个问题:
overflow:hidden;这个属性,当盒子没有float状态、并且定义了width、height时,默认会使盒子处于漂浮状态。