首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

理解CSS布局和块格式化上下文

[image.png] 在进行html布局及css编写时候,你是否遇到过这样问题: 子元素设置浮动脱离文档流后,父元素无法将其完全包裹 子元素浮动实现两栏布局时,另一个子元素浮动子元素重叠 垂直方向外边距...FC(formatting context)直译过来是格式化上下文,它是页面一块渲染区域,有一套渲染规则,决定了其子元素如何布局,以及和其他元素之间关系和作用。...为 inline-block) 表格单元格(元素 display为 table-cell,HTML表格单元格默认为该值) 表格标题(元素 display 为 table-caption,HTML表格标题默认为该值....outer { overflow: auto; } [enter image description here] BFC防止垂直外边距重叠 外边距折叠规则是:当两个块级元素相邻并且在同一个块级格式化上下文时...margin: 0 0 40px 0; overflow: auto; } [enter image description here] BFC防止文本环绕 依然像上面例子文字环绕效果布局和样式

2.1K30

块格式化上下文(BFC)布局规则及常见情景

它是页面一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素关系和相互作用。...它是一个独立渲染区域,只有Block-level box参与, 它规定了内部Block-level Box如何布局,并且这个区域外部毫不相干。...属于同一个BFC两个相邻Boxmargin会发生重叠 每个元素margin box左边, 包含块border box左边相接触(对于从左往右格式化,否则相反)。即使存在浮动也是如此。...(元素 display: inline-block) 表格单元格 (元素 display: table-cell,HTML表格单元格默认属性) 表格标题 (元素 display: table-caption...防止垂直margin重叠 代码: p { color: #f55; background: #fcc; width: 200px

1.6K40
您找到你想要的搜索结果了吗?
是的
没有找到

CSS 布局

如何形成?特点是什么?有哪些应用场景?...#什么是 BFC Box:Box 是 CSS 布局对象和基本单位,你可以理解一个页面就是由很多 Box 组成 Formatting Context:即格式化上下文,它是存在页面一块独立渲染区域...它是存在于页面一块独立渲染区域,有一套单独渲染规则。这里元素不会在布局上影响到外面的元素(比如浮动/定位元素等等)。...inline-block) 表格单元格(元素 display 为 table-cell,HTML 表格单元格默认为该值) 表格标题(元素 display 为 table-caption,HTML 表格标题默认为该值...不和浮动元素重叠 在一个BFC中使用两个BFC可以做两列布局时使用 #水平居中布局 #空间居中布局 Grid 布局 .container { display: grid; place-items

1.1K20

CSS进阶11-表格table

请注意,此示例三列是隐式指定:表标题单元格和数据单元格总共所需列数一样多。...以下CSS规则令标题单元格文本水平居中,并用粗体字显示标题单元格文本: th { text-align: center; font-weight: bold } 接下来规则将标题单元格文本与其基线对齐...CSS表格模型 CSS表格模型基于HTML4表格模型,其表格结构表格可视布局紧密相关。在此模型,表格由可选标题caption和任意数量行单元格组成。作者在文档语言中明确表格模型被为“行主要”。...矩形必须尽可能地靠近左边,但它所占据第一列单元格部分不能与任何其他单元格重叠(比如,在前一行开始跨行单元格row-spanning cell),并且该单元格必须位于源文档较早同一行所有单元格右侧...如果这个位置会导致跨列单元格column-spanning cell先前行跨行单元格row-spanning cell重叠,那么CSS不会定义结果:实现可能会重叠单元格(如许多HTML实现中所做那样

6.5K20

CCIG 2024:合合信息文档解析技术突破应用前景

教育和科研:识别学术论文中图表和公式,辅助科研数据整理和分析。2. 具备版面分析能力版面分析能力是指系统能够正确解析文档版式布局,识别文档栏、、段等布局结构。...复杂文档版式,如双栏、三栏和文表混合布局,给解析带来极大挑战。技术实现:物理版面分析:使用基于回归单阶段检测模型(如Faster R-CNN、YOLO)检测文档物理布局元素(如栏、)。...文档多板式部分示例文档解析典型技术难点在文档解析过程,技术难点众多,涉及文档元素遮盖重叠、复杂版式、多样文档元素、页眉页脚、多栏布局表格、无线表格合并单元格,以及各种公式识别和处理。...页眉页脚复杂形式:页眉页脚形式可能多种多样,需要准确识别并区分。多栏布局及其表格影响:多栏布局以及多栏插入表格会对文档解析带来额外挑战。无线表格合并单元格:无线表格合并单元格识别。...检测模型可以对文档栏(column)、(section)等布局要素进行识别。

10521

android如何获取view在布局高度宽度详解

前言 可能很多情况下,我们都会有在activity获取view 尺寸大小(宽度和高度)需求。面对这种情况,很多同学立马反应:这么简单问题,还用你说?你是不是傻。。...当我们在 onCreate() 方法获取某个 View 组件宽度和高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight...OnGlobalLayoutListener 监听事件 在布局发生改变或者某个视图可视状态发生改变时调用该事件,会被多次调用,因此需要在获取到视图宽度和高度后执行 remove 方法移除该监听事件...UI 事件队列会按顺序处理事件,在 setContentView() 被调用后,事件队列中会包含一个要求重新 layout message,所以任何 post 到队列 Runnable 对象都会在...像在自定义,加载一次布局,应该选中最后一个post方法最为使用。 另外还用,应该是第三种方式,一般在外部使用,比如需要等待Recyclerview绘制完成后进行操作。

5.8K10

CSS 面试要点:盒模型

BFC 决定了元素如何对其内容进行定位,以及与其他元素关系和相互作用。当设计到可视化布局时候,BFC 提供了一个环境,HTML 元素在这个环境按照一定规则进行布局。...一个环境元素不会影响到其他环境布局。...# BFC 渲染规则 BFC 元素垂直方向边距会发生重叠,属于不同 BFC 外边距不会发生重叠 BFC 区域不会与浮动元素布局重叠 BFC元素是一个独立容器,外面的元素不会影响里面的元素,里面的元素也不会影响外面的元素...或 fixed) 行内块元素 (display 值为 inline-block) 表格单元格 (display 值为 table-cell,HTML 表格单元格默认值) 表格标题 (display 值为...table-caption,HTML 表格标题默认值) 匿名表格单元格元素 (display 值为 table、table-row、table-row-group、table-header-group

55860

day012:什么是BFC?什么条件下会触发?渲染规则?应用场景有哪些?

为 absolute 或 fixed) 行内块元素(元素 display 为 inline-block) 表格单元格(元素 display为 table-cell,HTML表格单元格默认为该值)...表格标题(元素 display 为 table-caption,HTML表格标题默认为该值) 匿名表格单元格元素(元素 display为 table、table-row、 table-row-group...3.BFC渲染规则 (1)BFC垂直方向边距重叠 (2)BFC区域不会与浮动元素box重叠 (3)BFC是一个独立容器,外面的元素不会影响里面的元素 (4)计算BFC高度时候浮动元素也会参与计算...防止浮动导致父元素高度塌陷 现有如下页面代码: <!...可以明显地看到间隔变大了,而且是原来两倍,符合我们预期。 关于CSS布局问题,先分享到这里,后续会不断地补充,希望对你有所启发。如果对你有帮助的话,别忘了帮忙点个在看哦。

90710

React:Table 那些事(2)—— 解读 W3C 规范

直接给大家看个表就懂了 图: Table 相关 HTML元素、CSS属性 ?...Table 固定布局算法 {table-layout: fixed} 特点: 自动布局算法相比,布局速度更快(浏览器接收到第一行后就可以显示表格)。...水平布局仅取决于表格宽度、列宽度、表格边框宽度、单元格间距,而与单元格内容无关。...列宽计算规则: 若“列元素(col、colgroup)”指定了宽度,则采用此宽度; 若“列元素”未指定宽度,但第一行单元格指定了宽度,则采用此宽度; 所有没法确定宽度列,平分剩余空间; tableWidth...; 边框一旦合并,单元格之间边框会在单元格假想表格线上居中。

2.5K30

关于BFC理解

常见定位方案 在进入BFC话题前,先来捋一下常见定位方案,定位方案是控制元素布局,主要有三种常见方案: 普通流(正常文档流) 在普通流,元素按照其在HTML先后位置至上而下布局,在这个过程...它是页面一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素关系和相互作用。...) 行内块元素(元素display为inline-block) 表格单元格(元素display为table-cell,html表格单元格默认为该值) 表格标题(元素display为table-caption...,html表格标题默认为该值) 匿名表格单元格元素(元素display为table、table-row、table-row-group、table-header-group、table-footer-group...BFC一些应用 实现自适应两栏布局 应用了第四点BFC区域不会与float box重叠特性。一边浮动,另一边自适应部分形成BFC,那么两者就不会重叠,避免了文字环绕及类似情形。

97130

WecTeam:从手机滚动丢帧问题,学习浏览器合成渲染层优化

CSS3 硬件加速也有坑[3] 这篇文章提供了一个很有趣 DEMO[4],这个 DEMO 页面包含了一个 h1 标题,它对 transform 应用了 animation 动画,进而导致被放到了合成渲染...消除隐式合成就是要消除元素交叠,拿这个 DEMO 来说,我们只需要给 h1 标题 z-index 属性设置一个较高数值,就能让它高于页面其他元素,自然也就没有合成层提升必要了。...点击 DEMO 复选按钮就可以给 h1 标题加上一个较大 z-index,前后效果对比十分明显。 ?...2、层压缩 当然了,面对这种问题,浏览器也有相应应对策略,如果多个渲染层同一个合成重叠时,这些渲染层会被压缩到一个 GraphicsLayer ,以防止由于重叠原因导致可能出现“层爆炸”。...2、减少隐式合成 虽然隐式合成从根本上来说是为了保证正确图层重叠顺序,但具体到实际开发,隐式合成很容易就导致一些无意义合成层生成,归根结底其实就要求我们在开发时约束自己布局习惯,避免踩坑。

1.5K20

浏览器合成渲染层优化

CSS3 硬件加速也有坑[3] 这篇文章提供了一个很有趣 DEMO[4],这个 DEMO 页面包含了一个 h1 标题,它对 transform 应用了 animation 动画,进而导致被放到了合成渲染...消除隐式合成就是要消除元素交叠,拿这个 DEMO 来说,我们只需要给 h1 标题 z-index 属性设置一个较高数值,就能让它高于页面其他元素,自然也就没有合成层提升必要了。...点击 DEMO 复选按钮就可以给 h1 标题加上一个较大 z-index,前后效果对比十分明显。 ?...2、层压缩 当然了,面对这种问题,浏览器也有相应应对策略,如果多个渲染层同一个合成重叠时,这些渲染层会被压缩到一个 GraphicsLayer ,以防止由于重叠原因导致可能出现“层爆炸”。...2、减少隐式合成 虽然隐式合成从根本上来说是为了保证正确图层重叠顺序,但具体到实际开发,隐式合成很容易就导致一些无意义合成层生成,归根结底其实就要求我们在开发时约束自己布局习惯,避免踩坑。

1.8K51

【CSS】盒子边框 ③ ( 设置表格细线边框 | 合并相邻边框 border-collapse: collapse; )

文章目录 一、设置表格细线边框 1、表格示例 2、合并相邻边框 3、完整代码示例 一、设置表格细线边框 ---- 1、表格示例 给定一个 HTML 结构表格 , 默认样式如下 : 表格标题 <!...为 table 设置边框 : table { border: 1px solid blue; } 显示效果 : 上述效果只有表格边框 , 内部单元格边框没有设置 , 为 表头单元格...th 和 普通单元格 td 设置边框 ; table, th, td { border: 1px solid blue; } 设置完上述样式后 , 表格显示如下 : 上述 单元格 ...单元格 之间 边框 , 单元格 表格 之间 边框 , 出现了重叠 , 每个重叠处都有 两条线 ; 设置 border-collapse: collapse; CSS 样式 , 可以 将 相邻边框

3.1K20

文本标签「程序员培养之路第二天」

第一、文本标签 段落标签 段落标签用来描述一段文字 标题标签 • 标题标签用来描述一个标题标题标签总共有六个级别,由高到低分别是h1,h2,h3,h4,h5...长文本引用标签 定义长文本引用 换行标签 标签作用相当于word文档回车,起到文字换行作用 第二 多媒体标签 链接标签 表格头部一个单元格,表格表头。 单元格 • 表格一个单元格,一行包含几对,说明一行中就有几列。...• rows :多行输入域行数 第六、其他语义化标签 盒子 • 俗称为盒子,division(分割) • 在网页制作过程过,可以把一些独立逻辑部分划分出来,放在一个<div...定义网页底部 • 主要用于布局,分割页面的结构 导航 • HTML5新增语义化标签,定义一个导航 • 主要用于布局,分割页面的结构 文章 •

93020

移动端H5各种各样列表制作方法(四) by FungLeo

移动端H5各种各样列表制作方法(四) by FungLeo 前面三章,都是说一个普通列表应该如何去实现.难度由易到难,但总的来说,一看就能掌握.这一章,我们来做图文列表....这里是一个非常简单双列布局图文列表,每一块,包含图片,名称和价格.在PC端实现这样布局实在是太简单了.但是由于我们在移动端,不同手机宽度是不一致.因此,要求是自适应....outline 重叠造成 2px 线条 a { display: block; text-decoration:...小结 这一章,我们通过简单一个双列布局图文列表,着重要掌握以下几点内容 在移动端,要用到左右边框时候,尽量不要使用border边框来实现.本例使用 outline来模拟....CSS3文字描边实现方法.text-shadow css3一行文字标题超出显示省略号实现方法 sass引入代码块两种方法,以及之间异同(请自行考虑或参考相关教程) 在html5 a 标签是可以嵌套块级元素

42810

【面试题解】CSS布局,定位布局,浮动布局,BFC,IFC,FFC,GFC

格式上下文 Formatting context 是 W3C CSS2.1 规范一个概念。它是页面一块渲染区域,有一套渲染规则决定了其子元素将如何定位,以及和其他元素关系和相互作用。...display 为 inline-block) 表格单元格(元素 display为 table-cell,HTML表格单元格默认为该值) 表格标题(元素 display 为 table-caption...,HTML表格标题默认为该值) 匿名表格单元格元素(元素 display为 table、table-row、 table-row-group、table-header-group、table-footer-group...,包含块左边相接触(对于从右往左布局,则相反),即使存在浮动也是如此; BFC 区域不会与 float 重叠; BFC 就是页面上一个隔离独立容器,容器里面的子元素不会影响到外面的元素。...反之也如此; 计算 BFC 高度时,浮动元素也參计算。

1.5K30

由position属性引申关于css进阶讨论(包含块、BFC、margin collapse)

格式化则表明了在这个环境,元素处于此环境应当被初始化,即元素在此环境应当如何布局等。元素如果创建了BF么BFC决定了如何对其内容进行定位,以及它与其他元素关系和相互作用。...并且在一个BFC,块盒行盒(行盒由一行中所有的内联元素所组成)都会垂直沿着其父元素边框排列。...BFC运用:消除浮动多栏布局。...因此,我们可以根据: BFC区域不会与float box重叠。 来通过触发main生成BFC,实现自适应两栏布局。...同样,当BFC内部有浮动时,为了不影响外部元素布局,BFC计算高度时会包括浮动高度。避免margin重叠也是这样一个道理。

1.1K50

【Java 进阶篇】HTML表格标签详解

在本文中,我们将详细介绍HTML表格标签,包括如何创建表格、定义表头、单元格合并等内容。这篇文章适用于初学者,将帮助你理解如何使用HTML创建各种类型表格。 1....表格标题表头 表格通常包括标题和表头,以提供更好结构和理解。以下是如何添加表格标题和表头示例: 2.1....表格表头 表格表头通常包含列标题,使用和标签来定义。标签是表头单元格表示,不同,它们通常会加粗显示。...合并单元格 有时,我们需要合并表格单元格以创建更复杂布局或显示。HTML允许我们使用colspan和rowspan属性来实现这一点。 3.1....结论 HTML表格是在网页上显示和组织数据强大工具。在本文中,我们介绍了HTML表格基础,包括如何创建表格、定义表头、合并单元格、添加样式以及提高表格语义化。

31410
领券