1. 首先说一下为什么小的div的margin-top没有效果吧,由于两个没有边框的div组合在一起时,margin-top 会出现重叠现象,就是说你的大div的margin-top和小div的margin-top重合在一起了。
解决办法:
1、在父层div加上:overflow:hidden;
2、把margin-top外边距改成padding-top内边距 ;
3、父元素产生边距重叠的边有不为 0 的 padding 或宽度不为 0 且 style 不为 none 的 border。
父层div加: padding-top: 1px;
4、让父元素生成一个 block formating context,以下属性可以实现
* float: left/right
* position: absolute
* display: inline-block/table-cell(或其他 table 类型)
* overflow: hidden/auto
父层div加:position: absolute;