CSS有三种基本的定位机制:普通流,浮动和绝对定位。...绝对定位 相对定位可以看作特殊的普通流定位,元素位置是相对于他在普通流中位置发生变化,而绝对定位使元素的位置与文档流无关,也不占据文档流空间,普通流中的元素布局就像绝对定位元素不存在一样。...浮动布局 首先介绍一些浮动模型的基本知识:浮动模型也是一种可视化格式模型,浮动的框可以左右移动(根据float属性值而定),直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘。...> 可以看出浮动后虽然黄色div布局不受浮动影响,正常布局,但是文字部分却被挤到了紫色浮动div下边。...> 在�`item2`的样式中添加`clear:both;`就可以解决这个问题了。 参考文档 CSS布局 ——从display,position, float属性谈起.:
#什么是 BFC Box:Box 是 CSS 布局的对象和基本单位,你可以理解一个页面就是由很多的 Box 组成的 Formatting Context:即格式化上下文,它是存在页面中的一块独立的渲染区域...它是存在于页面中的一块独立渲染的区域,有一套单独的渲染规则。这里的元素不会在布局上影响到外面的元素(比如浮动/定位的元素等等)。...#如何形成的 根元素() 浮动元素(float 的值不为 none) 绝对定位元素(元素的 position 为 absolute 或 fixed) 行内块元素(元素的 display 是...#BFC 特点 BFC 垂直方向边距(margin)重叠 BFC 是一个独立的容器,外面的元素不会影响到里面的元素 BFC 的区域与会与浮动元素的 box 重叠 计算 BFC 高度的时候浮动元素也会参与计算...不和浮动元素重叠 在一个BFC中使用两个BFC可以做两列布局时使用 #水平居中布局 #空间居中布局 Grid 布局 .container { display: grid; place-items
一、基础 1.position 这是由于float和绝对定位都是使用块框架(block layout)来显示,所以会隐式地改变display的值。 二、居中 1.垂直居中 2.水平居中
flex-end 交叉轴的终点对 center 交叉轴的中点对齐 baseline 项目的第一行文字的基线对齐 stretch(默认值)...如果项目未设置高度或设为auto,将占满整个容器的 align-content 多根轴线的对齐方式 flex-start 与交叉轴的起点对齐 flex-end...与交叉轴的终点对齐 center 与交叉轴的中点对齐 space-between 与交叉轴两端对齐,轴线之间的间隔平均分 space-around 每根轴线两侧的间隔都相等...所以,轴线之间的间隔比轴线与边框的间隔大一倍 stretch(默认值) 轴线占满整个交叉轴 flex-flow (略过) 项目的属性 order 定义项目的排列顺序。...flex-basis的简写,默认值为0 1 auto。
Grid 布局是什么? Grid 布局即网格布局,是一种新的 CSS 布局模型,比较擅长将一个页面划分为几个主要区域,以及定义这些区域的大小、位置、层次等关系。...号称是最强大的的 CSS 布局方案,是目前唯一一种 CSS 二维布局。利用 Grid 布局,我们可以轻松实现类似下图布局,演示地址[1] ?...Grid 实战——实现响应式布局 经过上面的介绍,相信大家都可以看出,Grid 是非常强大的。一些常见的 CSS 布局,如居中,两列布局,三列布局等等是很容易实现的。...image 参考 常见的 Grid 布局用例[19] CSS Grid 网格布局教程[20] Grid 布局草案[21] 一行 CSS 代码实现响应式布局 – 使用 Grid 实现的响应式布局[22]...] Grid 布局草案: https://drafts.csswg.org/css-grid/#intro [22] 一行 CSS 代码实现响应式布局 – 使用 Grid 实现的响应式布局: https
布局模型 在网页中,元素有三种布局模型: 1、流动模型(Flow) 默认的 2、浮动模型 (Float) 3、层模型(Layer) 1、流动模型(Flow) 流动(Flow)模型是默认的网页布局模式。...(内联元素可不像块状元素这么霸道独占一行) 2、浮动模型 (Float) 任何元素在默认情况下是不能浮动的,但可以用 CSS 定义为浮动 div{float:left;} div{float:right...;} 可以为不同的div设置不同的浮动方式来布局。...绝对定位使元素脱离文档流,因此不占据空间 ,普通文档流中元素的布局就当绝对定位的元素不存在时一样,仍然在文档流中的其他元素将忽略该元素并填补他原先的空间。...因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素。 浮动元素的定位还是基于正常的文档流,然后从文档流中抽出并尽可能远的移动至左侧或者右侧,文字内容会围绕在浮动元素周围。
圣杯布局和双飞翼布局一直是前端面试的高频考点,圣杯布局的出现是来自由 Matthew Levine 在 2006 年写的一篇文章 《In Search of the Holy Grail》。...比起双飞翼布局,它的起源不是源于对页面的形象表达。在西方,圣杯是表达“渴求之物”的意思。而双飞翼布局则是源于淘宝的UED,可以说是灵感来自于页面渲染。...中间部分的高度是三栏中最高的区域的高度。 header和footer各自占领屏幕所有宽度,高度固定。 中间的container是一个三栏布局。 三栏布局两侧宽度固定不变,中间部分自动填充整个区域。...: 1/5; 意思是占据第一行网格的从第一条列网格线开始到第五条列网格线结束 给footer元素设置grid-row: 1; 和 grid-column: 1/5; 意思是占据第三行网格的从第一条列网格线开始到第五条列网格线结束...grid-column: 2/4; 意思是占据第二行网格的从第二条列网格线开始到第四条列网格线结束 给right元素设置grid-row: 2; 和 grid-column: 4/5; 意思是占据第二行网格的从第四条列网格线开始到第五条列网格线结束
二:三栏布局 三栏式布局也是一种极为常见的布局方案。它的特点也是两边定宽,中间自适应。 这个布局方式的关键是怎么样才能使得在伸缩浏览器窗口的时候让中间的子元素宽度改变。...布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。...响应式实现基于媒体查询,根据不同的屏幕分辨率,选择不同的css规则,例如: @media screen and (max-width: 540px) { /* 移动端 */ .box{ background...:#ccc; } } 也可以把要套用的描述独立成外部档案: css..." /> 借助于媒体查询,我们便可以使得页面在不同的设备上,能使用最适合页面大小的css方案,从而实现响应式布局。
, 28 7月 2022 作者 847954981@qq.com 前端学习, 我的编程之路 CSS Flex布局 Flex布局是W3C提出的具有强大空间分布和对齐能力的布局方案。...到目前为止,得到了所有浏览器的支持。...Flex布局意为弹性布局,用来为盒状模型提供强大的灵活性 其最显著的效果就是把原本上到下排列的块状元素变成水平排列: .container { display: flex; background...: #D5E8D4; border: 1px solid #5D9E5A; } 注意的是:使用Flex布局后,子元素的float、clear和vertical-align属性将失效 此时,我们称父元素为容器...flex-direction 主轴设定 图片 在flex布局中,有两根轴,主轴和交叉轴: 默认情况下:主轴为水平从左到右,交叉轴为垂直,从上到下。
CSS布局(二) 等高布局 等高布局,顾名思义,就是指子元素在父元素中高度相等的布局。 开始之前,先看一个情境。... css代码 main { color: #eee; } main>div { display: inline-block; width: 300px...,即上面第一个子元素的高度 再添加 margin-bottom,值为 padding-bottom的负值,就会让父元素收缩成只有最高的子元素的高度 flex布局 因为flex布局,项目默认会拉伸为父元素的高度...有flex布局的地方怎么能没有grid布局(×?)。...、grid布局真nb 参考链接: 常用的多列等高布局收藏 css实现上下固定中间自适应布局 实现粘连布局
一个弹性容器能控制内部元素的布局。子元素按照主轴线排列,主轴的方向为主起点(左)到主终点(右)。垂直于主轴的是副轴。方向从副起点(上)到副终点(下)。这些轴的方向可以改变。...在 CSS 里,不仅要考虑当前网页的内容,还要考虑内容变化后的情况,或者是相同的样式表作用到相似网页上的情况。...flex"> flex: 0 0 300px flex: 1 圣杯布局...(column 或 column-reverse),但是有一点不同:在 CSS 中处理高度的方式与处理宽度的方式在本质上不一样。...让屏幕上的视觉布局顺序和源码顺序差别太大会影响网站的可访问性。
01 - Flex布局是什么 在翻译中,“Flex”意为“松紧带”,在前端开发中可以理解为弹性布局。...所有的浏览器目前都支持了Flex布局,除“Webkit ”内核的浏览器需要加如下前缀: display:-webkit-flex; 02 - 需要注意 1、设为 Flex 布局以后,子元素的float、...2、行内元素也可以使用 Flex 布局。 03 - 属性 1、flex-direction(容器)属性 描述:决定主轴的方向。 row(默认值):主轴为水平方向,起点在左端。...所以,项目之间的间隔比项目与边框的间隔大一倍。 5、align-items(容器)属性 描述:定义项目在交叉轴上如何对齐。 具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下。...flex-start:交叉轴的起点对齐。 flex-end:交叉轴的终点对齐。 center:交叉轴的中点对齐。 baseline: 项目的第一行文字的基线对齐。
Flex是Flexible Box 的缩写,意为"弹性布局",是CSS3的一种布局模式。通过Flex布局,可以很优雅地解决很多CSS布局的问题。下面会分别介绍容器的6个属性和项目的6个属性。...1.浏览器支持情况 可以点击查看各浏览器的兼容情况 2.容器的属性 注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。...flex-end:与交叉轴的终点对齐。 center:与交叉轴的中点对齐。 space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。 space-around:每根轴线两侧的间隔都相等。...所以,轴线之间的间隔比轴线与边框的间隔大一倍。 stretch:轴线占满整个交叉轴。...默认值:auto(项目本来的大小) (5)flex属性 作用:是flex-grow、flex-shrink、flex-basis属性的缩写形式; flex: none | [
前言 CSS布局是一个前端必备的技能,HTML如果说是结构之美,CSS就是视觉之美可以给用户不一样的体验的效果和视觉冲击。...随着现在设备种类的增多,各种大小不一,奇形怪状的设备使得前端开发的压力不断增大,越来越多的UI框架层出不群,我们就会忽略了最基本的CSS,下面总结了一些经常用到的CSS布局,一起学习和进步。...单列布局 单列布局是最常见也是最常用的布局方式,一般设置一个最大或者最小的宽度和居中就可以实现了。...这种布局当屏幕缩小的时候,或者宽度不够的时候,右边撑满的部分就变成了单列布局,左边的部分改为垂直方向的显示或者隐藏。...三列布局 三列布局是将页面分为左中右水平方向的三个部分比如github。也有可能是水平方向上的两列布局中右边撑满的部分嵌套一个两列布局组成。
CSS布局 确定页面的大致结构,页面分多少块,每块的位置。每个部分怎么把该部分撑起来。...* 写css时要注意z-index的设置,一般来说 会给不同的元素 设置不同的区间,以防元素之间相互覆盖。...* CSS中BFC详解 https://www.cnblogs.com/chen-cong/p/7862832.html clear: both; 的作用是:保证该元素左右两侧 没有浮动元素...响应式设计和布局 在移动端时代,响应式的设计和布局 是必需掌握的内容。响应式布局 能帮助网页 更好的适配pc端 和不同尺寸的移动端。...而小数 换算出来的 像素 是不精准的。所以 使用rem的时候 要考虑到不精准的情况 要预留一些余地 给不精准的情况。对于精确性非常高的地方 就不要使用rem来布局了。 CSS面试题 1.
图解CSS布局(一)- Grid布局 先上图 ?...简介 Grid 布局是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局,也是唯一的二维布局方案,利用grid布局可以很轻松的实现很多的网页布局 正文 gird布局很强大...布局中的相关属性 全文代码基于 .container { /**/ } .item { font-size: 50px; color: white; } .item-1...对中间那列设置了auto,实现了中间自适应的三栏布局 网格线 grid布局叫做网格布局,那自然少不了网格线的存在,使用方括号,指定每一根网格线的名字,方便以后的做定位时使用 grid-template-columns...其中的第一行代码,制定了上边框在第1条网格线,下边框在第4条网格线,第二行代码同理。
CSS布局(一) 看面试题,看到两个没听说过的布局圣杯布局、双飞翼布局。这就来学习一波CSS布局。...双栏布局 双栏布局是一种非常使用的布局。左边是目录、公告等内容,右边是主内容。 双栏布局的侧边栏部分通常都是放目录、公告等需要稳定表现的内容,所以侧边栏需要固定,然后让主内容自适应。...(没学过grid,推测的结果,不对请指正) 三栏布局 两边的侧边栏固定宽度,中间的主内容自适应宽度。 比较有名的有圣杯布局、双飞翼布局两种。 圣杯布局 圣杯布局是比较特殊的三栏布局。...双飞翼布局是圣杯布局的改进版。...常用布局介绍:单栏双栏,圣杯,双飞翼/附各类居中技巧 几种常见的CSS布局
//html部分同上 .parent { display:flex; } .right { margin-left:20px; flex:1; } 3.grid布局 Grid布局,是一个基于网格的二维布局系统...两种布局方式的不同之处在于如何处理中间主列的位置: 圣杯布局是利用父容器的左、右内边距+两个从列相对定位; 双飞翼布局是把主列嵌套在一个新的父级块中利用主列的左、右外边距进行布局调整 四、等高布局 等高布局是指子元素在父元素中高度相等的布局方式...实现方法简单,兼容性强,不需要太多的css样式就可以轻松实现,但此方法不适合流体布局等高列的布局。 在制作样式之前需要一张类似下面的背景图: ?...参考文章 双飞翼布局介绍-始于淘宝UED CSS三栏布局的四种方法 CSS 两列布局---左侧固定,右侧自适应 两列自适应布局的四种思路 css常见布局之九:三栏布局的常见实现 【布局】聊聊为什么淘宝要提出...「双飞翼」布局 CSS的单列布局与二&三列布局
//html部分同上 .parent { display:flex; } .right { margin-left:20px; flex:1; } 3.grid布局 Grid布局,是一个基于网格的二维布局系统...两种布局方式的不同之处在于如何处理中间主列的位置: 圣杯布局是利用父容器的左、右内边距+两个从列相对定位; 双飞翼布局是把主列嵌套在一个新的父级块中利用主列的左、右外边距进行布局调整 四、等高布局 等高布局是指子元素在父元素中高度相等的布局方式...实现方法简单,兼容性强,不需要太多的css样式就可以轻松实现,但此方法不适合流体布局等高列的布局。 在制作样式之前需要一张类似下面的背景图: ?...参考文章 双飞翼布局介绍-始于淘宝UED CSS三栏布局的四种方法 CSS 两列布局---左侧固定,右侧自适应 两列自适应布局的四种思路 css常见布局之九:三栏布局的常见实现 【布局】聊聊为什么淘宝要提出...「双飞翼」布局 CSS的单列布局与二&三列布局 推荐阅读: 1.
parent"> child .parent { display: flex; align-items: center; } css...text-align:center; 定宽块状元素: 设置左右margin值为auto; 不定宽块状元素: 设置子元素为display:inline,然后在父元素上设置text-align:center; css3...三列布局的特征是两侧两列固定宽度,中间列自适应宽度。 之所以将二列布局和三列布局写在一起,是因为二列布局可以看做去掉一个侧栏的三列布局,其布局的思想有异曲同工之妙。...对于传统的实现方法,主要讨论上图中前三种布局,经典的带有侧栏的二栏布局以及带有左右侧栏的三栏布局,对于flex布局,实现了上图的五种布局。...圣杯采用的是padding,而双飞翼采用的margin,解决了圣杯布局main的最小宽度不能小于左侧栏的缺点。 双飞翼布局不用设置相对布局,以及对应的left和right值。
领取专属 10元无门槛券
手把手带您无忧上云