BFC块级格式化上下文IFC行内格式化上下文

简介

BFC(Block Formatting Contexts),块级格式化上下文。
IFC (Inline Formatting Contexts),行内格式化上下文。

1、BFC

盒模型

规则

属于同一个BFC的两个相邻Box垂直排列
属于同一个BFC的两个相邻Box的margin会发生重叠
BFC的区域不会与float的元素区域重叠
计算BFC的高度时,浮动子元素也参与计算
文字层不会被浮动层覆盖,环绕于周围

条件

根元素(body);
浮动元素, float属性不为none;
定位元素,position为absolute或fixed;
display为inline-block,table-cell,table-caption,flex;
overflow不为visible(即值为hidden/auto/scroll时);

作用

解决margin重叠问题(添加独立BFC)
解决浮动高度坍塌问题(在父元素添加overflow:hidden)
解决侵占浮动元素的问题(添加overflow:hidden)

2、IFC

IFC结构

规则

在一个行内格式化上下文中,盒子是一个接一个水平放置的,从包含块的顶部开始
这些盒之间的水平margin,borer和padding都有效
盒可能以不同的方式竖直对齐:以它们的底部或者顶部对齐,或者以它们里面的文本的基线对齐

3、块盒,行盒(行内元素),行块盒(行内块元素)的区别

块盒元素

display: block;
常见元素:div、p、h1~h6、header、footer、nav、hr、ul、ol、dl等
特点:独占一行;可以设置宽高;宽度是父元素的100%;里面可以嵌套块级元素和行内元素;

行盒(行内元素)

display: inline;
常见元素:span、a、img、br、label、strong、em、audio、video、b、i等
特点:不会独占一行;不能设置宽高;宽度等于内部宽度;不允许嵌套块级元素;display为inline;a标签比较特殊可以嵌套块级元素,将a标签转换为块级元素

行块盒(行内块元素)

display: inline-block;
常见元素:input、button
特点:块级元素和行内元素的结合;可以设置宽高;宽度等于内容宽度’;不会独占一行;

特殊元素

img元素:默认disaplay为inline;但既有块盒效果也有行和效果:可以设置宽高;不会独占一行

参考

https://blog.csdn.net/qq_41996454/article/details/108903784
IFC(行内格式化上下文) :https://www.jb51.cc/webfrontend/454409.html
行内格式化上下文(Inline Formatiting Contexts) https://segmentfault.com/a/1190000009308818
区别css,块盒,行盒(行内),行块盒(行内快)的不同:https://blog.csdn.net/dccose/article/details/105731673

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值