马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

关于元素间的边距重叠问题与BFC

[复制链接]
查看1908 | 回复0 | 2019-8-16 03:19:54 | 显示全部楼层 |阅读模式
一、边距重叠常见情况


1、垂直方向上相邻元素的重叠

(水平方向上不会发生重叠)
032005of8qou48gffu8p2o.png



2、 垂直方向上父子元素间的重叠

032006qzkyp2ii3lipb2bl.png




二、BFC


1、什么是 BFC

BFC(Block Formatting Context),即块级格式化上下文,创建了 BFC 的元素是一个独立的容器,里面无论如何结构都不会影响到外面的元素

2、创建 BFC 的方法

(1)设置 overflow 属性,除了 visible 以外的值(例如 hidden、auto)
(2)设置 float 属性,除了 none 以外的值(例如 left、right)
(3)设置 position 属性,除了static 和 relative 以外的值(例如 absolute、fixed)
(4)设置 display 属性,可以是 flex、inline-block、table-cell...

3、BFC 的使用场景

(1)解决元素间的边距重叠题目 -- 分别添加创建了 BFC 的父元素
032006d9qqy8d5ja8lddu2.png

032006yoadqozoo5ra35fo.png

032007lp3pa9qecx55uaqp.png

  1.   
  2.   
  3.       
  4.         
  5.   
复制代码
  1. /* 创建BFC前 */div {  width: 100px;  height: 100px;  background: #7b81ca;  margin: 30px;}/* 创建BFC后 */section {  overflow: hidden;}div {  width: 100px;  height: 100px;  background: #7b81ca;  margin: 30px;}
复制代码


(2)解决浮动重叠题目 -- 为非浮动的元素创建 BFC
(常用于文字环绕图片的效果)
032007r6z0ze39m1dw36si.png

032007cfzz87s8ffwfff27.png

032008y8zdo998gflyd8go.png

  1.    
复制代码
  1. /* 创建BFC前 */section {  width: 100px;  height: 200px;  background: rgba(244, 220, 250, 0.8);  float: left;}div {  width: 200px;  height: 100px;  background: rgba(123, 129, 202, 0.8);}/* 创建BFC后 */section {  width: 100px;  height: 200px;  background: rgba(244, 220, 250, 0.8);  float: left;}div {  width: 200px;  height: 100px;  background: rgba(123, 129, 202, 0.8);  overflow: hidden;}
复制代码


(3)清除浮动,解决浮动元素的父元素高度塌陷题目 -- 为父元素创建 BFC
032008am0jr7m0ggi03388.png

032008fbpbappsevcnssfo.png

032008xaz9aqv9339ir2v3.png

  1.       
  2.   
复制代码
  1. /* 创建BFC前 */section {  background: rgba(244, 220, 250, 1);}div {  width: 100px;  height: 100px;  background: rgba(123, 129, 202, 1);  float: left;}/* 创建BFC后 */section {  background: rgba(244, 220, 250, 1);  overflow: hidden;}div {  width: 100px;  height: 100px;  background: rgba(123, 129, 202, 1);  float: left;}
复制代码





来源:https://www.cnblogs.com/Leophen/archive/2019/08/16/11361531.html
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则