【前端中css基础——系列5】BFC与IFC;绝对定位与相对定位和固定位置

系列文章总结

【前端中css基础——系列1】盒模型与flex布局
【前端中css基础——系列2】css中浮动与垂直居中显示
【前端中css基础——系列3】css中模块化;css动画;css单位
【前端中css基础——系列4】css实现固定宽高比;css中伪元素
【前端中css基础——系列5】BFC与IFC;绝对定位与相对定位和固定位置
【前端中css基础——系列6】单行多行文本截断;实现三角形圆形



FC(格式化上下文)是指w3c规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及其他元素的关系和相互作用

一、BFC与IFC

1.1 BFC

BFC(块级格式化上下文)的话则是一个块级元素的渲染显示规则,可以理解为一个封闭的大箱子,容器里面的子元素不会影响到外面的元素,可以用来消除浮动overflow:hidden

BFC布局规则:

  1. 内部盒子会在垂直方向一个个放置
  2. BFC时页面上一个隔离的独立容器
  3. 属于同一个BFC的两个相邻Box的上下margin会发生重叠
  4. 计算BFC的高度时,浮动元素也参与计算
  5. 每个元素的左边与包含盒子的左边相接触
  6. BFC的区域不会和float重叠

触发BFC条件

  1. body根元素
  2. 浮动元素:float不为none的属性值
  3. 绝对定位元素
  4. display为:inline-block、table-cells、flex
  5. overflow里除了visible以外的值(hidden、auto、scroll)

1.2 IFC

IFC即为内联格式化上下文。

IFC布局规则:

  • 子元素水平方向横向排列,垂直方向起点为元素顶部。
  • 子元素只会计算横向样式空间,【padding、border、margin】,垂直方向不会被计算,【padding、border、margin】
  • 在垂直方向上,子元素不会以不同形式来对齐(vertical-align)

触发IFC条件

块级元素中仅包含内联级别元素。


二、绝对定位与相对定位和固定位置

static(默认)relative(相对)absolute(绝对)fixed(固定)
含义默认定位相对于自身进行定位相对于浏览器或是父元素定位固定一个位置进行定位
方法没有定位不设置便宜量时对元素没有任何影响,可以提升层级关系无父元素时,以浏览器的左上角为基准;有父元素时,设置成’父相子绝‘设置固定位置后,当前元素不会发生改变,可以做小广告

相对定位(relative)

相对于自身进行定位 不设置偏移量的时候 对元素没有任何影响,设置了偏移量,则基于自身初始的位置进行偏移可以提升层级关系

如下,初始三个盒子,设置第一个盒子相对定位,设置偏移,效果如下:
在这里插入图片描述


绝对定位(relative)

如果啥也不设置是这样的:

在这里插入图片描述
当我设置子元素为absolute后,子元素以浏览器为基准移动:

在这里插入图片描述
如果父元素设置了相对位置的话,子元素就是以父元素为基准移动:

在这里插入图片描述


固定定位(relative)

设置固定定位后:

在这里插入图片描述


z-index:

z-index属性设置元素的堆叠顺序(层级关系),拥有更高的堆叠顺序的元素总是处于堆叠顺序较低的元素前面(从父原则:从父元素,子级的永远大于父级的)。

在这里插入图片描述


码字不易~, 各位看官要是看爽了,可不可以三连走一波,点赞皆有好运!,不点赞也有哈哈哈~~~

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
前端开发BFCIFC、GFC、FFC 是指不同的 CSS 布局上下文,它们分别代表: 1. BFC(块级格式化上下文):是一个独立的块级渲染区域,具有一定的布局规则,内部的块级元素会按照一定的规则进行排列。BFC 的特点是内部的盒子会在垂直方向上一个接一个地放置,同一行的盒子在水平方向上也有一定的间隔。常见的触发 BFC 的方式包括设置元素的 overflow 属性(除了 visible 以外的值)、float 属性、position 属性(除了 static 以外的值)、display 属性为 table-cell、table-caption 或 inline-block 等。 2. IFC(内联格式化上下文):是一块内联元素的渲染区域,内部的内联元素会按照一定的规则进行排列。IFC 的特点是内部的内联盒子在垂直方向上一个接一个地放置,同一行的盒子紧贴在一起。常见的触发 IFC 的方式包括设置元素的 display 属性为 inline-block、inline-table 或 flex 等。 3. GFC(网格格式化上下文):是一个独立的网格渲染区域,内部的网格元素会按照一定的规则进行排列。GFC 通常用于实现复杂的网格布局,它的特点是能够自动适应不同大小的元素,并支持单元格合并等高级特性。常见的触发 GFC 的方式包括设置元素的 display 属性为 grid。 4. FFC(自适应格式化上下文):是一个渲染区域,内部元素会根据可用的空间自动进行排列和缩放。FFC 的特点是可以实现类似于图像的自适应缩放效果,通常用于实现响应式布局。常见的触发 FFC 的方式包括设置元素的 display 属性为 flex 或 inline-flex。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让子弹飞一会儿=>

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值