We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
整理一下CSS格式化上下文
CSS格式化上下文主要有这么几种: BFC块级格式化上下文、IFC内联格式化上下文、GFC网格(grid)格式化上下文、FFC弹性(flex)格式上下文
创建规则:display:grid/inline-grid
创建规则: display:flex/inline-flex
下面主要整理一下BFC块级格式化上下文 和 IFC内联格式化上下文
布局规则: 1. 内部的盒子会在垂直方向,一个接一个地放置 2. Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠 3. 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则 相反)。即使存在浮动也是如此。 4. BFC的区域不会与float box重叠。 5. BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。 6. 计算BFC的高度时,浮动元素也参与计算
以上几条规则总结如下:
如果一个元素具有 BFC,内部子元素再怎么倒腾,都不会影响外部的元素。 所以, 1. BFC 元素是不可能发生 margin 重叠的,因为 margin 重叠是会影响外部的元素的; 2. BFC 元素也可以用来清除浮动的影响,因为如果不清除,子元素浮动则父元素高度塌陷,必然会影 响后面元素布局和定位,这显然有违 BFC 元素的子元素不会影响外部元素的设定
所以BFC可以用来防止外边距合并,清除内部浮动
创建规则: IFC 只有在一个块元素中仅包含内联级别元素(inline-level elements)时才会生成
内联级元素(inline-level elements)在一行中一个挨一个地排列,一旦当前行放不下了,就在它下方创建一个新行,所有这些行都是所谓的行盒(line box),用来包住这一行的所有内容。
inline-level element (内联级元素)。内联级元素包括 display属性计算值为:
使用IFC,可以实现内联级元素的垂直和水平居中
The text was updated successfully, but these errors were encountered:
No branches or pull requests
整理一下CSS格式化上下文
CSS格式化上下文主要有这么几种: BFC块级格式化上下文、IFC内联格式化上下文、GFC网格(grid)格式化上下文、FFC弹性(flex)格式上下文
GFC网格(grid)格式化上下文
创建规则:display:grid/inline-grid
FFC弹性(flex)格式上下文
创建规则: display:flex/inline-flex
下面主要整理一下BFC块级格式化上下文 和 IFC内联格式化上下文
BFC块级格式化上下文
注意: 是这些元素创建了块格式化上下文,它们本身可以不是块格式化上下文
布局规则:
1. 内部的盒子会在垂直方向,一个接一个地放置
2. Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠
3. 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则
相反)。即使存在浮动也是如此。
4. BFC的区域不会与float box重叠。
5. BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。
6. 计算BFC的高度时,浮动元素也参与计算
以上几条规则总结如下:
所以BFC可以用来防止外边距合并,清除内部浮动
IFC内联格式化上下文
创建规则: IFC 只有在一个块元素中仅包含内联级别元素(inline-level elements)时才会生成
内联级元素(inline-level elements)在一行中一个挨一个地排列,一旦当前行放不下了,就在它下方创建一个新行,所有这些行都是所谓的行盒(line box),用来包住这一行的所有内容。
inline-level element (内联级元素)。内联级元素包括 display属性计算值为:
使用IFC,可以实现内联级元素的垂直和水平居中
vertical-align属性可被用于两种环境:
The text was updated successfully, but these errors were encountered: