column-span: 规定元素应横跨多少列(1:跨1列 all:跨所有列) max-height: 列高度 /*如果设定列的最大高度,这个时候,文本内容会从第一列开始填充,然后第二列...*/...这时子元素与子元素之间的间距是最左边和最右边子元素与父元素间距的2倍。 注意: 当所有子元素的宽度之和大于父盒子的宽度时,所有子元素的宽度会平均收缩,变窄,以适应父盒子的宽度。...相反,flex-grow 设置的是父盒子剩余空间的比例分配,而 flex-shrink 设置的是,如果父盒子宽度不够时,子元素的收缩比例。...如果将 flex-shrink 的值设置为 0 的话,父盒子宽度不够时,子元素不收缩,会溢出。...flex: auto:属性值被设为auto的伸缩项目,会根据主轴自动伸缩以占用所有剩余空间 3.4、flex 应用案例 需求:不管有多少个 li 标签,总是能平分父盒子(因为从服务器获取的 li 标签的个数可能不是固定的
1.清除浮动 浮动的元素会影响其兄弟元素的位置,并可能导致父元素的高度塌陷(假如父元素没设置高度),因此需要清除浮动(带来的影响)。...的父元素里面的 A 子元素不会在布局上影响到 B,也自然不会有 margin 的叠加。...3.3.2 BFC 可以包含浮动的元素 前面说过,父元素没有设置高度时,子元素的浮动会导致父元素表现为 0 高度,也就是说正常情况下父元素无法包含浮动的子元素。...如果父元素的宽度足以包含这两个子元素的宽度之和,则子兄弟元素和子浮动元素并排。如图: image.png 如果父元素的宽度不足以包含这两个子元素的宽度之和,则子兄弟元素会出现在子浮动元素的下面。...伸缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flex box 定义了伸缩容器内伸缩项目该如何布局。
浮动后的元素可以设置宽度和高度,也就是说内联元素浮动后会变成块级元素。...因为浮动元素脱离了普通流,会出现一种高度坍塌的现象:原来的父容器高度是当前盒子撑开的,但是当当前盒子浮动后,脱离文档流浮动起来,那父容器的高度就坍塌。...行框的宽度是由包含块和与其中的浮动来决定; IFC 中的行框一般左右边贴紧其包含块,但 float 元素会优先排列; IFC 中的行框高度由 CSS 行高计算规则来确定,同个 IFC 下的多个行框高度可能会不同...; 当 IFC 中盒子的总宽度少于包含它们的行框时,其水平渲染规则由 text-align 属性值来决定; 当一个行内元素超过父元素的宽度时,它会被分割成多个盒子,这些盒子分布在多个行框中。...flex box 由伸缩容器和伸缩子元素组成。通过设置元素 display:flex/inline-flex 可以得到伸缩容器,前者为块级元素,后者为行内元素。伸缩容器外元素不受影响。
(这说明BFC中的子元素不会超出它的包含块,而position为absolute的元素可以超出它的包含块边界);BFC的区域不会与float的元素区域重叠;计算BFC的高度时,浮动子元素也参与计算;BFC...padding/margin影响)IFC有的特性IFC中的line box一般左右都贴紧整个IFC,但是会因为float元素而扰乱。...float元素会位于IFC与与line box之间,使得line box宽度缩短。...伸缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flexbox 定义了伸缩容器内伸缩项目该如何布局。...多栏布局(column-*) 在 Flexbox 中也是失效的,就是说我们不能使用多栏布局在Flexbox 排列其下的子元素Flexbox 下的子元素不会继承父级容器的宽
01-flex伸缩布局 1.伸缩(弹性)布局的作用: 给父盒子加buff,让功能更加强大 2.伸缩布局的应用场景:多列布局 a.以前的方案:浮动+百分比 实现 弊端:不能实现所有的情况...(3列 7列 9列) b.伸缩布局:浮动+百分比搞不定的多咧布局 3.伸缩布局的使用流程: 设置“父元素”的 display:flex; 4.伸缩布局的三要素(原理): a.主轴(main...axis.默认从左往右):元素 水平方向排列方式 特点:子元素的宽度如果超出父元素:子元素不会超出,伸缩盒子会进行合理分配 b.次轴(cross axis.默认从上往下):元素 垂直方向排列方式...次轴永远和主轴是垂直的 特点:子元素总高度大于父元素的高度:子元素会超出 c.内容(item):子元素 5.伸缩布局的特点(属性) 以下是给父元素设置的属性: 7.jpg...(常用) flex-start:从次轴起始方向对齐,默认顶部 flex-end:从次轴结束方向对齐,默认底部 center:中心对其 stetch:如果元素没有给高度那么将铺满父盒子高度
1.1浮动布局 浮动布局的属性为 float,其值可以是 float 或 right,设置浮动布局后将会影响左右相邻元素,并且会脱离文档流但却受文档流影响。...: 此时这些 div 变成了横轴显示,此时我们将 box 属性中的 height 去掉: 将会发现其伸缩盒子内的元素依旧有高度,这些高度为父元素的最大高度: 正常情况下,未设置伸缩盒子...,其子元素将不会存在高度。...此时我再将子元素的宽度设置为 1000,那么该子元素宽度和肯定大于其页面最大宽度: 那如此设置会怎样呢?以下是呈现效果: flex-wrap 此时所有子元素将会均分其父元素宽度。...在 flex 子元素中不经可以设置子元素的填充,还可以设置子元素的收缩,但需要注意,生效需要子元素宽/高大于父容器最大宽高:
6.1流式布局(百分比布局) 流式布局就是百分比布局,也称非固定像素布局。 通过盒子宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素限制,内容向两侧填充。...流式布局方式是移动web开发使用的比较常见的布局方式 max-width 最大宽度(max-height 最大高度) min-width 最小宽度(min-hight 最小高度) 6.2...当我们把父盒子设为flex布局后,子元素的float、clear和vertical-align属性都将失效 伸缩布局=弹性布局=伸缩盒布局=弹性盒布局=flex布局 采用flex布局的元素,称为...总结:就是通过给父盒子添加flex属性,(display: flex;)来控制子盒子的位置和排列方式 6.2.3 flex布局父项常见属性 以下六个属性是对父元素设置的 flex -direction...而子元素是跟着主轴来排列的 属性值 说明 row 默认值从左到右 row-reverse 从右到左 column 从上到下 column-reverse 从下到上 6.2.3.2 justify-content
BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。 计算BFC的高度时,浮动元素也参与计算。 如何生成BFC: 根元素,即HTML元素。...IFC拥有如下特性 IFC中的line box一般左右都贴紧整个IFC,但是会因为float元素而扰乱。float元素会位于IFC与与line box之间,使得line box宽度缩短。...垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。...伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flexbox定义了伸缩容器内伸缩项目该如何布局。...多栏布局(column-*) 在 Flexbox 中也是失效的,就是说我们不能使用多栏布局在Flexbox 排列其下的子元素。 Flexbox 下的子元素不会继承父级容器的宽度。
较为复杂的布局还可以通过嵌套一个伸缩容器(flex container)来实现。 采用Flex布局的元素,称为Flex容器(flexcontainer),简称"容器"。...时的高度, 当它里面的任一列高度增加了,则父容器的高度被撑到里面最高那列的高度, 其他比这列矮的列会用它们的padding-bottom补偿这部分高度差。...清除浮动的方式 清除浮动是为了清除使用浮动元素产生的影响。浮动的元素,高度会塌陷,而高度的塌陷使我们页面后面的布局不能正常显示。...来龙去脉大概如下: 当设置了zoom的值之后,所设置的元素就会就会扩大或者缩小,高度宽度就会重新计算了,这里一旦改变zoom值时其实也会发生重新渲染,运用这个原理,也就解决了ie下子元素浮动时候父元素不随着自动扩大的问题...当媒体查询返回假,标签上带有媒体查询的样式表仍将被下载 (只不过不会被应用)。 包含了一个媒体类型和至少一个使用宽度、高度和颜色等媒体属性来限制样式表范围的表达式。
同一个父级元素下的元素层叠效果是受父级影响的,就是说如果你的父级z-index很小,那你子级设置再大也没有用 19. 常见的 css 布局单位?...相对于父元素,rem相对于子元素 • vw/vh: 视图窗口单位,vw 宽度,vh 高度,还有 vmin 和 vmax 两个相关单位 20. px,em, rem 的区别以及使用场景?...• 区别: • px: 固定像素,无法跟着页面大小而改变 • em: em 和 rem 相对长度单位,长度不是固定的,会跟着页面大小而改变,更适用于响应式布局 • em 相对于父元素来设置字体大小,而...父级元素设置左右的 padding,三列均设置向左浮动,中间一列放在最前面,宽度设置为父级元素的宽度,因此后面两列都被挤到了下一行,通过设置 margin 负值将其移动到上一行,再利用相对定位,定位到两边...,双飞翼布局相对于圣杯布局来说,左右位置的保留是通过中间列的 margin 值来实现的,而不是通过父元素的 padding 来实现的。
Flexbox * flexbox是有弹性的,可伸缩的 * flexbox本身就是 可以并列的 * 可以指定 宽度 使用float布局 * 元素设置float后,元素就脱离了文档流,但是不会脱离文本流。...元素 向旁边 紧贴 float元素(或者是 父元素的边) * float元素不影响 其他块级元素的位置 * float元素影响 其他块级元素 的内部文本 * (float元素)对父级元素的影响...留下自适应的空间:和两列布局类似,一列固定宽度 另一列随屏幕自适应。 (类似的思路,在屏幕顶部 给logo固定宽度 logo右侧的纯色背景 可以自适应)。...如何清除浮动,为什么清除浮动 这是因为 float元素 不会占据父元素的布局空间,有可能 float元素 就会超出 父元素,从而对其它的元素 造成影响。...所以作为父元素 要清除浮动 来保证父元素内的元素 不会影响父元素的外部元素。
如果有多个浮动元素,浮动元素会按顺序排下来而不会发生重叠的现象。 如果有多个浮动元素,后面的元素高度不会超过前面的元素,并且不会超过包含块。...取值:left、right、both 3.2 父元素高度塌陷问题 为什么要清除浮动,父元素高度塌陷 解决父元素高度塌陷问题:一个块级元素如果没有设置height,其height是由子元素撑开的。...对子元素使用了浮动之后,子元素会脱离标准文档流,也就是说,父级元素中没有内容可以撑开其高度,这样父级元素的height就会被忽略,这就是所谓的高度塌陷。...BFC布局规则 BFC 就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。...8.流式布局与响应式布局的区别 流式布局 使用非固定像素来定义网页内容,也就是百分比布局,通过盒子的宽度设置成百分比来根据屏幕的宽度来进 行伸缩,不受固定像素的限制,内容向两侧填充。
盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。 元素的宽度和高度: 重要: 当你指定一个CSS元素的宽度和高度属性时,你只是设置内容区域的宽度和高度。...父层)设置width为一个定值,子层设置width为100%(以父包含块宽度为准自适应)。...当元素没有设置宽度值,而设置了浮动属性,元素的宽度会随内容的变化而变化(若没有内容,则宽度为0)。 当元素设置浮动属性后,会对相邻的元素产生影响,相邻元素特指紧邻它后面的元素,对它前面的元素没影响。...使用绝对定位ablolute实现横向两列布局 — 常用于一列固定宽度,另一列宽度自适应的情况 主要应用技能: relative—父元素相对定位 absolute—自适应宽度的元素绝对定位 注意:固定宽度列的高度...>自适应宽度的列(因为绝对定位的元素会导致父元素高度塌陷,所以一定要保证固定宽度列的高度>自适应宽度的列,才能让绝对定位元素放进父容器里)
盒子的高度无效,height为0,即在浏览器上无渲染高度 浏览器的渲染规则可理解记忆为:深度优先遍历计算 子元素的相对单位的计算值都是基于父/祖先元素对应的属性值,auto是基于内容区域撑开计算所得。...如果任一长度为零,则角为正方形,而不是圆角。 水平半径的百分比是指边框的宽度,而垂直半径的百分比是指边框的高度。...,而所在矩形的框高的计算值需要加上padding和border的宽度,所以变成了一个椭圆。...BFC(html标签)内的子元素,因此需要将父/子元素变成BFC(根据如上的创建BFC的CSS值设置),那么子元素的margin就会依赖父元素的左上角作为基准点margin偏移。...line-height高度,line-height规定的是行高最小的的高度 line-height是相对单位时,line-height具有继承性,其子元素如果没有设置line-height,那么子元素的行高为父元素计算所得的行高值
当我们为父盒子设为 flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。 flex布局又叫伸缩布局 、弹性布局 、伸缩盒布局 、弹性盒布局。...弹性盒子是一种用于按行或按列布局元素的一维布局方法。元素可以膨胀以填充额外的空间,收缩以适应更小的空间。 Tips / 提示 通过给父盒子添加 flex 属性,来控制子盒子的位置和排列方式。...100% 0.5 宽度减少父元素的50% 0 不对flex容器中的子元素宽度进行收缩 大于1 还是宽度收缩至父元素,与1效果相同 注意点:如果两个同级子元素(child-01、child-02)默认情况下...Flex子项常用布局方式 等高布局 flex子元素默认高度就会与父元素等高。...,并给父元素grid容器设置: grid-template-rows: 100px; 会发现第一行子元素的高度得到了限制(100px),第二行两个新加入的元素高度依旧会自适应拉伸: .grid-demo
CSS3在布局方面做了非常大的改进,使得我们对块级元素的布局排列变得十分灵活,适应性非常强,其强大的伸缩性,在响应式开中可以发挥极大的作用。...,不指定flex属性,则不参与伸缩分配 min-width 最小值 min-width: 280px 最小宽度 不能小于 280 max-width: 1280px 最大宽度 不能大于 1280 2.flex-direction...让子元素在父容器中间显示 space-between 项目位于各行之间留有空白的容器内。...让子元素的高度拉伸适用父容器(子元素不给高度的前提下) center 项目位于容器的中心。 垂直居中 flex-start 项目位于容器的开头。...垂直对齐结束位置 底对齐 5、flex-wrap控制是否换行 当我们子盒子内容宽度多于父盒子的时候如何处理 值 描述 nowrap 默认值。规定灵活的项目不拆行或不拆列。
(不设置宽度时默认撑满整个屏幕),之后给 content 和 header 子元素(比如头部的导航条)、footer 子元素一个共同的宽度。...此时布局是这样的: image.png 这里要注意的点:块级元素在不显式设置宽度的情况下确实撑满整个屏幕,从这个角度来看,width 设置为 100% 似乎没有必要。...最终得到的布局是这样的: image.png 给页面设置 min-width: 600px 这里要注意的点:由于左右两列宽度固定,因此我们至少要给页面一个最小宽度,但这个最小宽度并不是简单的左右两列宽度之和...4.等高布局 等高布局是指多个子元素在父元素中高度相等的布局方式。 4.1 正 padding + 负 margin: 该方法可以解决圣杯布局各子元素高度不等的缺点。...假设某一列高度最大,则父盒子的高度会等于这一列高度,而其他列本来的留白部分由带背景色的 padding 补偿。
但是在小程序中的表现并不是这样的,它最终会根据你设置的子元素的宽度,横向的等比进行缩放,让它可以在当行内显示的下。...可以看到 space-around 是会保留左右的边距,感觉就像是为每个元素都增加了一个左右的 margin 属性,而 space-between 则只在子元素之间存在距离。...注意 align-items:stretch 和前面我们的属性描述是不符合的,主要原因是它有两个限制。 父容器,必须限定高度。 子元素,必须没有指定高度,宽还是高,就取决于交叉轴的方向。...1. flex-grow 属性 flex-grow 属性,可以定义子元素在父元素中的伸缩比例,按照比例为子元素分配不同的空间大小。...以这里的表现来看,flex-grow 从小到大占据父容器的空间。 而 B 例子,我们将子元素的宽度 width 属性,设置为 500rpx 之后,明显一行已经不够放下 3 个子元素了。
计算bfc的高度时,浮动元素也参与计算 5. bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。 上面几个特性怎么理解呢?...不定宽 + 自适应 两列布局,左边不定宽,宽度由内容决定,右边自适应的常见解决方案: 不定宽:float + overflow 跟前面定宽的写法很像,只是左边子级宽度不能写死了,要留给它的子元素决定。...等高 等高布局要实现的就是当一列高度被撑高时,另一列也会跟着被撑高。 等高:table 又是table,表格的一行里面不同的单元格天生就是等高的。...这样做虽然左右子元素看起来是一样高的,但是调试可以发现,他们的高度已经加了9999px,远远超过父容器了。这并不是真正意义上的等高,真正意义上的等高还是要用前面两种方案。...在等高布局中,浮动元素的方案不是等高的,我们通过一个很大的内边距,然后一个负的外边距来进行补偿,这样虽然看起来解决了问题,但是元素的真是高度其实已经变了。
经典的「三列布局」由左中右三列组成,其特点为连续两列宽度固定、剩余一列宽度自适应和三列高度固定且相等。.../双飞翼布局 经典的「圣杯布局」和「双飞翼布局」都是由左中右三列组成,其特点为左右两列宽度固定、中间一列宽度自适应和三列高度固定且相等。...经典的「均分布局」由多列组成,其特点为每列宽度相等和每列高度固定且相等。...节点声明display:flex后,生成的FFC容器里所有子节点的高度都相等,因为容器的align-items默认为stretch,所有子节点将占满整个容器的高度。每列声明flex:1自适应宽度。...自适布局的容器都是根据视窗尺寸计算,即使父节点或祖先节点的尺寸发生变化也不会影响自适布局的容器尺寸。 搭建自适布局就离不开「视窗比例单位」。
领取专属 10元无门槛券
手把手带您无忧上云