考试用丨南理工冷知识测试
BFC宝宝发烧怎么办 你知道哪些冷知识
,即“块级格式化上下文”,是Web前端领域一个比较重要的概念。虽然BFC并不是程序员们必须熟练掌握的知识点,但是对于熟练掌握CSS布局的程序员来说,理解BFC的概念和原理,可以使代码更加精简、性能更加优化。本文将介绍一些关于BFC的冷知识,帮助读者更加深入理解BFC的概念和应用。 一、Box 在CSS中,所有元素都被视为一个个盒子(Box)。每个盒子由一个内容区和四个区域组成,分别是:
1. content box(内容区):盒子里的内容,包括文字、图片等;
2. padding box(内边距区):内容区周围的内边距;
3. border box(边框区):内边距区周围的边框;
4. margin box(外边距区):边框区周围的外边距。 在BFC中,每个盒子都会形成一个独立的空间,不同的盒子之间互不干扰,因此可以从理论上理解为BFC是由一个个独立的Box构成的。
二、BFC定义 BFC是一个独立的布局环境,它的布局规则只对BFC内的元素有效,对于BFC外的元素无效。BFC具有以下特性:
1. BFC内部的所有盒子都会在垂直方向上一个接一个地排列,形成一个垂直的布局模型,对外给人的感觉就是元素从上往下排列。
2. 在同一个BFC内部,两个相邻的盒子的margin会发生重叠。
3. 同一个BFC内部的盒子不会发生浮动(float);
4. BFC在计算高度时,浮动元素也会参与计算。 被认为是BFC的元素有:
1. 根元素(html)
2. float的值不为none的元素
3. position的值为absolute或fixed的元素
4. display的值为inline-block、table-cell、table-caption、flex、inline-flex之一的元素
5. overflow的值不为visible的元素 如果要实现让一个块级元素形成一个BFC,可以通过以下方式实现:
1. 使用float属性
2. 使用绝对定位或固定定位
3. 使用display属性为inline-block或table-cell或table-caption或flex
4. 使用overflow属性不为visible
三、BFC的应用
1. 清除浮动:在某个元素的内部定义BFC,可以清除浮动元素对布局带来的影响,避免发生莫名其妙的排版问题。
2. 避免margin的重叠:在同一个BFC内部的相邻元素的margin会发生重叠,因此通过BFC可以避免margin的重叠问题。
3. 解决自适应两栏布局:在自适应两栏布局中,左栏float:left,右栏设置margin-left等于左栏的宽度,但是由于margin的重叠问题,右栏会移动到左栏的下面,通过在左栏外部包裹一个BFC,就可以避免margin重叠的问题。
四、BFC的性能优化 BFC可以提高页面布局效率和性能,主要体现在两个方面:
1. 计算高度时,BFC会同时包含所有的子元素。如果一个页面中存在大量的float元素,那么页面渲染时会多次处理文档流,导致响应速度慢及卡顿,通过定义BFC可以一次性处理所有的float,从而提高页面渲染的效率。
2. 避免不必要的重排:如果不使用BFC,当一个元素发生位置变化时,整个页面需要重新布局,而使用BFC时,只需要重新渲染BFC内的元素即可避免整个页面发生重新布局。 综上所述,BFC虽然不是程序员必须熟练掌握的知识点,但理解BFC的概念和应用可以使代码更加精简、性能更加优化,对于Web前端的技术提升和职业发展具有一定的价值。
望天湖 万众一心抗疫情,相约春暖花开时
知识 有哪些 bfc
上一篇:一凡科普冷知识(冷知识科普文案) 下一篇:何基犬冷知识

相关文章