首先回顾一下CSS1中经常出现的几个样式问题,当子元素添加margin时,父元素也会下移。解决方法:在子元素中添加display:inline-block;或者使用父元素的padding-top可以换成2。子元素浮动后,父元素无法检测到它的高度。3、元素浮动后,兄弟元素的内容超出其高度,会占据其区域(其实问题原因与第二点类似)解决方法:对超出高度的元素添加overflow:hidden;4当同级元素之间的边距重叠时,如果两个元素之间存在上边距和下边距,则只有值较大的边距才会生效。解决方法:在其中一个元素上加一层标签包裹,在标签上添加满足BFC的样式问题原因:1元素之间的边距无法识别,因为它们的边距合并在一起,浏览器只能识别较大的值2元素浮动或绝对定位后,高度将无法识别,因此可能会影响父元素的BFC级格式化上下文。大白话理解就是让它和外面的元素组成一个独立的容器,不会互相影响,用BFC来解决申诉问题。通过BFC对context进行格式化后,正常流程之外的元素可以被隔离,不至于与外部元素隔离。第一次写,写得不好,请大家多多指教哈哈哈哈
