给子元素设置margin后,父元素也跟着移动


原因是: 普通文档流盒子间,只要垂直外边距直接接触就会发生合并,合并后外边距视觉高度取两个发生合并外边距中较大者。发生这一现象的有三种情况:相邻兄弟块元素间、父元素及其首子元素和末子元素间(没有内边距或边框把外边距分隔开)、空块级元素自身的合并。
解决方法:
第一种:给父级设置border
第二种:给父级设置个padding
第三种:BFC(块格式化上下文)
position:absolute;
display:inline-block;
float:left/right;
overflow:hidden;(溢出的东西隐藏)