BFC和IFC

     IFC      IFC(inline formatting context),即⾏内格式化上下⽂,与之对应的是BFC(block formating context),块格式化上下⽂

     在IFC中,框(boxes)⼀个接⼀个地⽔平排列,起点是包含块的顶部。⽔平⽅向上的margin,border和padding在框之间得到保留。框在垂直⽅向上可以以不同的⽅式对⻬:它们的顶部或底部对⻬,或根据其中⽂字的基线对⻬。包含那些框的⻓⽅形区域,      会形成⼀⾏,叫做⾏框(line box)。      ⼀个⾏框的宽度由包含它的元素的宽度和包含它的元素⾥⾯有没有float元素来决定,⾼度的确定由⾏⾼度计算规则决定。      ⾏框的⾼度⾜以包含他的内部容器,也可能⽐它包含的容器们都⾼(⽐如在基线对⻬的时候),当他包含的内部容器的⾼度⼩于⾏      框的⾼度时,内部容器的垂直位置由⾃⼰的vertical(默认值是 baseline)这个属性来确定。(这个性质可以⽤来实现垂直居中)      eg:<p style="background:silver;width:400px;">          <span style="font-size:50px;border:1px solid yellow;">你好</span><em style="border:1px solid          yellow;">我好</em><span style="vertical-align:top;border:1px solid yellow;">⼤家好</span>          </p>

     ⾏内框还可能由于双向⽂本处理(bidirectional text processing)⽽在同⼀个⾏框内被分割为好⼏个框。      不包含⽂本、保留空⽩符、margin/padding/border⾮0的⾏内元素,以及其他常规流中的内容(⽐如,图⽚,inline-blocks和      inline-tables),并且不是以换⾏结束的⾏框,必须被当作0⾼度⾏框对待。就外边距折叠⽽⾔,这种⾏框必须被忽略。      补充:在IFC的环境中,是不能存在block-level元素的,如果将block-level元素插⼊到IFC中,那么此IFC将会被破坏掉,⽽      block-level元素前的元素和block-level元素后的元素将会各⾃⾃动产⽣⼀个匿名容器其包围,这个匿名的容器内部环境将是⼀个      新的IFC。

     BFC      BFC(Block formatting context)直译为"块级格式化上下⽂"。它是⼀个独⽴的渲染区域,只有Block-level box参      与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。      布局      内部的Box会在垂直⽅向,⼀个接⼀个地放置。     Box垂直⽅向的距离由margin决定。属于同⼀个BFC的两个相邻Box的margin会发⽣重叠     每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。     即使存在浮动也是如此。     BFC的区域不会与float box重叠。     BFC就是⻚⾯上的⼀个隔离的独⽴容器,容器⾥⾯的⼦元素不会影响到外⾯的元素。反之也如此。     计算BFC的⾼度时,浮动元素也参与计算     哪些元素会生成BFC     根元素     float属性不为none     position为absolute或fixed     display为inline-block, table-cell, table-caption, flex, inline-flex     overflow不为visible         每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格     式化,否则相反)。即使存在浮动也是如此。     BFC就是⻚⾯上的⼀个隔离的独⽴容器,容器⾥⾯的⼦元素不会影响到外⾯的元素。反之也     如此

转载于:https://www.cnblogs.com/tangqi/p/5327100.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值