整理css之BFC原理

首先回顾下CSS常出现的几个样式问题
1当子元素添加上边距时,父元素也会向下移动浏览器

clipboard.png

解决方法:
给子元素添加display:inline-block;
或者用父元素的padding-top代替给能够spa

clipboard.png

2子元素浮动后,父级元素检测不到其高度
3当元素浮动后,兄弟元素的内容超过其高度后会侵占它的区域(其实问题缘由与第二点相似)ip

clipboard.png

解决方法:给超出高度的元素加上overflow:hidden;it

clipboard.png

4同级元素间的边距重叠时,如两个元素间有上下边距,只会有值大的边距生效。class

clipboard.png

解决方法:
给其中一个元素加上一层标签包裹,并给标签加上知足BFC的样式容器

问题出现缘由:
1 元素之间的边距没法识别是由于它们的边距合并到了一块儿,浏览器只能识别较大的那个值
2 元素浮动后或绝对定位后,高度将没法识别,因此可能会影响父级元素cli

BFC级格式化上下文,大白话理解则是让它造成一个独立的容器,
与外面的元素不会相互影响,而使用BFC则能够解决上诉问题。
经过BFC 格式化上下文后 能够将脱离了普通流的元素隔离,使其不会与外界的元素相互隔离。方法

第一次写,写得很差,请你们多多指教哈哈哈哈im