博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于BFC的一些应用
阅读量:7051 次
发布时间:2019-06-28

本文共 774 字,大约阅读时间需要 2 分钟。

关于Block Formatting Context(BFC)的概念性介绍就不赘述了,网上有很多关于此的介绍,后面也罗列了些个人认为很不错的文摘。

那今天要说的是关于它的一些技巧性应用,通过示范比较常会接触到的排版布局方面的需求来说明下。

BFC实例

左中右布局的自动扩容

这是一个比较常见的布局需求,如下,这是一个表单里面的其中一行,想下怎么排呢?

表单示例

好了,这时候需求有变动了,还需要增加些东西,就变成了这样:

表单示例

唔,这会看到后面发现,还有这样子的:

表单示例

表单示例

表单示例

表单示例

虽然,有其他办法来实现这样的效果,那是否有更轻巧的实现方式呢?那就是BFC啦,通过BFC可以实现自动扩容的效果,就是你怎么加都行()。

复杂背景下的目录线实现

这个,看着是不是特别的熟悉:

目录线示例

这种类word的目录结构,脑海里已经将它切好了。按照通常的做法是,背景纯色背景,那标题文字直接应用同色背景即可,简单快捷方便。

不过,看到下面的是不是要悲剧了,:

多彩背景目录线示例

这种就不单单只是填个背景了~~你想到什么更好的办法来处理了吗?

这里抛出多一个问题,直接上图,看下面的图:

图片描述

有没注意到后面多出来的类橙色的一截,这截东西是什么?(Chrome下可以inspect到,Firefox没有)

这个多余的东西加上线的长度就等于父级的宽度(这个线没有设置width,且为block level的元素)

这是在《CSS权威指南》一书,第7章节水平格式化这一小节的时候了解到的。

潜在问题

  • 不是所有东西都是完美的,BFC也不例外,在提供了轻巧灵活的排版布局的同时,也带了较大的潜在问题,那就是overflow了,都知道这个属性的副作用,超出范围裁减,也就是实现BFC的时候,要考虑到如果有绝对定位或者需要通过偏移调整位置实现特殊效果的需求,那么这会个很头疼的问题。

  • 对于结构有一点要求,触发的元素必须位于最后一位。

参考链接

转载地址:http://yjcol.baihongyu.com/

你可能感兴趣的文章
屈辱史
查看>>
爱的十个秘密--6.接触的力量
查看>>
GINA后门代码
查看>>
(筆記) 如何設計邊緣檢測電路? (SOC) (Verilog)
查看>>
MPEG文件中什么是GOP
查看>>
C#查找指定窗口的子窗口的句柄
查看>>
Linux man命令的使用方法
查看>>
在delphi中嵌入脚本语言--(译)RemObjects Pascal Script使用说明(1)(译)
查看>>
Icon cache rebuilding with Delphi(Delphi 清除Windows 图标缓存源代码)
查看>>
Azure VMSS (2) 对VM执行Generalize操作
查看>>
C# 4.0四大新特性代码示例与解读
查看>>
POJ 1094 Sorting It All Out
查看>>
HUST 1017 Exact cover
查看>>
SessionStateStoreProviderBase.GetItemExclusive Method
查看>>
Excel Wrapper
查看>>
Thread和Service应用场合的区别
查看>>
poj 2632 模拟题
查看>>
递归--木棍问题
查看>>
企业门户(Portal)项目实施方略与开发指南
查看>>
基于百度定位SDK的定位服务的实现
查看>>