随便写个 div, 打开 Chrome 的开发者工具, 在右边栏能看到这样一个直观的盒模型图.
?...Padding(内边距) - 清除内容周围的区域, 内边距是透明的.
Content(内容) - 盒子的内容, 显示文本和图像等....清除浮动.
这个很容易理解, 浮动的元素会脱离文档的普通流.
如果盒子内的元素是浮动元素且盒子本身不具备 BFC 特性, 那么这个盒子在视觉上并不会包裹住内部浮动元素, 总大小也不包括内部浮动元素....触发盒子的 BFC 特性后:
?
3. 阻止元素被浮动元素覆盖
下图是一个文字环绕效果.
?
蓝色 div 是一个浮动元素, 灰色 div 是一个块级元素....会造成上图的原因是因为灰色 div 被蓝色 div 所覆盖, 但文本不会被覆盖, 所以被强行压缩换行.
如果想要避免这种情况, 可以触发灰色 div 的 BFC 特性.
?