此文章借鉴于 http://blog.csdn.net/u012011360/article/details/41823125
解决方法: 1.给父元素增加border
2.给父元素增加padding
3.给父元素增加属性:overflow: hidden;
原理:根据规范,一个盒子如果没有上补白(padding-top)和上边框(border-top),那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠。
原理解释:margin-top是根据padding或border来工作的,当父元素没有这些时,那么子元素就会逐级向上查找有padding或margin的父元素,然后子元素就相对于这个祖先元素来进行偏移。