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

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

[image.png] 在进行html布局css编写的时候,你是否遇到过这样的问题: 子元素设置浮动脱离文档流后,父元素无法将其完全包裹 子元素浮动实现两栏布局时,另一个子元素与浮动子元素重叠 垂直方向的外边距...通常我们使用块级格式化上下文(BFC)就能解决。 什么是BFC?...块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。...FC(formatting context)直译过来是格式化上下文,它是页面中的一块渲染区域,有一套渲染规则,决定了其子元素如何布局,以及和其他元素之间的关系和作用。...BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,并且容器元素不会影响兄弟元素的布局

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

CSS 布局

#什么是 BFC Box:Box 是 CSS 布局的对象和基本单位,你可以理解一个页面就是由很多的 Box 组成的 Formatting Context:即格式化上下文,它是存在页面中的一块独立的渲染区域...BFC:全称是 Box formatting Context 翻译过来就是“块级格式化范围”。它是存在于页面中的一块独立渲染的区域,有一套单独的渲染规则。...这里的元素不会在布局上影响到外面的元素(比如浮动/定位的元素等等)。 通俗一点讲,可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论怎样翻江倒海,都不会影响到外部。...不和浮动元素重叠 在一个BFC中使用两个BFC可以做两列布局时使用 #水平居中布局 #空间居中布局 Grid 布局 .container { display: grid; place-items

1.1K20

CSS布局

CSS有三种基本的定位机制:普通流,浮动和绝对定位。...绝对定位 相对定位可以看作特殊的普通流定位,元素位置是相对于他在普通流中位置发生变化,而绝对定位使元素的位置与文档流无关,也不占据文档流空间,普通流中的元素布局就像绝对定位元素不存在一样。...浮动布局 首先介绍一些浮动模型的基本知识:浮动模型也是一种可视化格式模型,浮动的框可以左右移动(根据float属性值而定),直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘。...> 可以看出浮动后虽然黄色div布局不受浮动影响,正常布局,但是文字部分却被挤到了紫色浮动div下边。...参考文档 CSS布局 ——从display,position, float属性谈起.:

1K20

10.4【前端开发】页面布局:如何理解 “CSS 视觉格式化模型”?

页面布局:如何理解 “CSS 视觉格式化模型”?...一个抽象的概念,由CSS引擎根据文档中的内容所创建,主要用于文档元素的定位、布局格式化等。盒子与元素并不是一一对应的,有时多个元素会合并生成一个盒子,有时一个元素会生成多个盒子(如匿名盒子)。...元素是否是块级元素仅是元素本身的属性,并不直接用于格式化上下文的创建或布局。 块级盒子:block-level box,由块级元素生成。...盒子的概念 盒子有不同的类型,不同类型的盒子的格式化方法也有所不同。盒子的类型取决于 CSS display 属性。...当CSS的 position 属性为 static 或 relative,并且 float 为 none 时,其布局方式为普通流。 普通流又有两种情况: 静态定位和相对定位。

80510

CSS布局(三) 布局模型

布局模型 在网页中,元素有三种布局模型: 1、流动模型(Flow) 默认的 2、浮动模型 (Float) 3、层模型(Layer) 1、流动模型(Flow) 流动(Flow)模型是默认的网页布局模式。...流动布局模型具有2个比较典型的特征: 第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。...(内联元素可不像块状元素这么霸道独占一行) 2、浮动模型 (Float) 任何元素在默认情况下是不能浮动的,但可以用 CSS 定义为浮动 div{float:left;}  div{float:right...;} 可以为不同的div设置不同的浮动方式来布局。...绝对定位使元素脱离文档流,因此不占据空间 ,普通文档流中元素的布局就当绝对定位的元素不存在时一样,仍然在文档流中的其他元素将忽略该元素并填补他原先的空间。

2.3K71

css经典布局——圣杯布局

圣杯布局和双飞翼布局一直是前端面试的高频考点,圣杯布局的出现是来自由 Matthew Levine 在 2006 年写的一篇文章 《In Search of the Holy Grail》。...比起双飞翼布局,它的起源不是源于对页面的形象表达。在西方,圣杯是表达“渴求之物”的意思。而双飞翼布局则是源于淘宝的UED,可以说是灵感来自于页面渲染。...圣杯布局要求 header和footer各自占领屏幕所有宽度,高度固定。 中间的container是一个三栏布局。 三栏布局两侧宽度固定不变,中间部分自动填充整个区域。...中间的container是一个三栏布局。 三栏布局两侧宽度固定不变,中间部分自动填充整个区域。 中间部分的高度是三栏中最高的区域的高度。...圣杯布局的三种实现 【1】浮动 先定义好header和footer的样式,使之横向撑满。

2.5K10

css布局使用

parent"> child .parent { display: flex; align-items: center; } css...text-align:center; 定宽块状元素: 设置左右margin值为auto; 不定宽块状元素: 设置子元素为display:inline,然后在父元素上设置text-align:center; css3...三列布局的特征是两侧两列固定宽度,中间列自适应宽度。 之所以将二列布局和三列布局写在一起,是因为二列布局可以看做去掉一个侧栏的三列布局,其布局的思想有异曲同工之妙。...对于传统的实现方法,主要讨论上图中前三种布局,经典的带有侧栏的二栏布局以及带有左右侧栏的三栏布局,对于flex布局,实现了上图的五种布局。...双飞翼布局(float + 负margin ) **原理说明**: 双飞翼布局和圣杯布局的思想有些相似,都利用了浮动和负边距,但双飞翼布局在圣杯布局上做了改进,在main元素上加了一层div, 并设置margin

1.9K90

图解CSS布局(一)- Grid布局

图解CSS布局(一)- Grid布局 先上图 ?...简介 Grid 布局是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局,也是唯一的二维布局方案,利用grid布局可以很轻松的实现很多的网页布局 正文 gird布局很强大...,采用网格布局的区域,称为"容器"(container)。...将元素定义为网格容器,并为其内容建立新的网格格式化上下文,属性值有2个: grid :生成一个块级网格 inline-grid:生成一个行级网格 .container { display...对中间那列设置了auto,实现了中间自适应的三栏布局 网格线 grid布局叫做网格布局,那自然少不了网格线的存在,使用方括号,指定每一根网格线的名字,方便以后的做定位时使用 grid-template-columns

1.8K10

前端学习笔记之CSS网页布局 CSS网页布局

CSS网页布局 阅读目录 一 网页布局方式 二 标准流 三 浮动流 四 定位流 一 网页布局方式 #1、什么是网页布局方式 布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式,比如word...,nodpad++等等 而网页的布局方式指的就是浏览器这款工具是如何对网页中的元素进行排版的 #2、网页布局/排版的三种方式 2.1、标准流 2.2、浮动流 2.3、定位流 二 标准流 标准流的排版方式...,又称为:文档流/普通流,所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。...# 1 浏览器默认的排版方式就是标准流排版方式 # 2 在CSS中将元素分为三类:分别是 块级 行内 行内块级 # 3 在标准流中有两种排版方式...#1、垂直方向的布局用标准流布局,水平方向用浮动流布局 #2、从上至下布局 #3、从外向内布局 #4、水平方向可以先划分为一左一右再对左边后者右边进一步布局 <!

4.8K20
领券