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

3个div占据父级的所有高度,第一个和最后一个div变量高度

要实现3个div占据父级的所有高度,且第一个和最后一个div的高度可变,可以使用CSS的Flexbox布局来实现。

首先,在父级容器上应用Flexbox布局,可以通过设置父级容器的display属性为flex来实现,如下所示:

代码语言:txt
复制
.parent-container {
  display: flex;
}

接下来,为每个子div设置flex属性,使它们占据父级容器的所有高度。同时,将第一个和最后一个div的高度设置为auto,即可实现它们的高度可变,如下所示:

代码语言:txt
复制
.child-div {
  flex: 1;
}

.child-div:first-child,
.child-div:last-child {
  height: auto;
}

这样,三个div就会占据父级容器的所有高度,且第一个和最后一个div的高度可变。

关于Flexbox布局的更多详细信息,可以参考腾讯云的Flexbox布局介绍页面:Flexbox布局介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

前端基础篇之CSS世界

而元素高度坍塌就导致元素后面的非浮动块状元素会其重叠,于是他就像脱离文档流了。 前三个特性都是正能量满满,但是最后一个特性却给我们开发者带来了很多麻烦,需要用到clear来清除浮动。...也就是虽然浮动元素高度坍塌,但是设置了clear: both元素却将其高度视为仍然占据位置。 clear只能作用于块元素,并且其并不能解决后面元素可能发生文字环绕问题。...BFC就是页面上一个隔离独立容器,容器里面的子元素不会影响到外面的元素,反之亦然; 计算BFC高度时,考虑BFC所包含所有元素,连浮动元素也参与计算; BFC区域不会与float box重叠;...正确翻译是“每一个盒子左外边距应该包含块左边缘相接触”。 第一,包含块未必就是元素。...上图分析:首先第一个i标签基线与第二行span标签中数字基线对其,所以其位置在中间。其次最后一行i标签基线对齐幽灵空白节点字母x基线,没有错位,所以此时最后一行间隙高度就是字母x高度

2K50

CSS 常见面试题速查

伪类:以冒号为前缀,被添加到一个选择器末尾关键字,样式在特定状态下才被呈现到指定元素 CSS 2.1 E:first-child 匹配元素第一个子元素 E:link 匹配所有未被点击链接...() 作用类似,但是仅匹配使用同种标签元素 E:last-child 匹配元素最后一个子元素,等同于:nth-last-child(1) E:first-of-type 匹配元素下使用同种标签第一个子元素...,等同于:nth-of-type(1) E:last-of-type 匹配元素下使用同种标签最后一个子元素,等同于:nth-last-of-type(1) E:only-child 匹配元素下仅有的一个子元素...,来确定元素位置 如一个绝对定位元素祖父都为 relative,会相对来产生偏移 fixed 指定元素相对于屏幕视口(viewport)位置来指定元素位置 元素位置在屏幕滚动时不会改变...因为子元素脱离了元素文档流,所以元素失去了高度,导致了塌陷。要解决这个问题,就是让元素具有高度

88710

HTML+CSS高级

,给其中一个div设置左浮动,为什么第二个div会被第一个div覆盖?                ...3.1.1     原因:两个都是div,如果不浮动则占据一行竖着排列,给第一个div设置左浮动,则该div脱离文档流并且不占位置且层级高,此时第二个div会被第一个div覆盖住                ...给元素加上高度,让其在视觉效果上呈现正常     --》扩展性不好,假如项目高度不固定(如瀑布流布局),此时没法由子元素内容确定元素高度           2.2     给加浮动。    ...,给其中一个div设置左浮动,为什么第二个div会被第一个div覆盖?                ...3.1.1     原因:两个都是div,如果不浮动则占据一行竖着排列,给第一个div设置左浮动,则该div脱离文档流并且不占位置且层级高,此时第二个div会被第一个div覆盖住

5.8K61

详解 清除浮动 多种方式(clearfix)

浮动元素依然位于元素之内 4、浮动元素处理问题-解决多个块元素在一行内显示问题 注意 1、一行内,显示不下所有的已浮动元素时,最后一个将换行 2、元素一旦浮动起来之后,那么宽度将变成自适应...由于浮动元素会脱离文档流,所以导致不占据页面空间,所以会对元素高度带来一定影响。...如果一个元素中包含元素全部是浮动元素,那么该元素高度将变成0(高度塌陷) 3.如何清除浮动 解决方案 及 原理分析 方案1 直接设置元素高度 优势:极其简单 弊端:必须要知道元素高度是多少...overflow:hidden, 语义应该是溢出:隐藏,按道理说,子元素浮动了,但依然是在元素里,而元素高度塌陷,高度为0了,子元素应该算是溢出了,为什么没有隐藏,反而撑开了元素高度?...属于同一个BFC两个相邻Boxmargin会发生重叠 注意:发生重叠后,外边距高度等于两个发生重叠外边距高度较大者 从上面的例子可以看出,虽然红色 蓝色 div 都有设置

1.2K60

BFC讲解

,比如块元素默认就会占据文档一行,高度会根据内容填充,行内元素可以相互挨着,不会占据多余空间等规则,BFC很明显你可以浅显将他理解为将一块元素封闭起来,与别的元素进行隔开,自己内部属性不干扰外部元素属性...包含内部浮动元素 说现象 因为css默认规则,当元素没有进行设置高度时候,他高度取决于内部元素高度,当内部元素设置浮动了之后,元素就没有了高度,这个过程叫做不包含内部浮动元素,这是css...BFC之后现象 排除外部浮动 说现象 当元素内部有两个元素,其中一个设置了浮动,那么旁边元素进行文字书写时候,会自动环绕到该子元素,因为css规则定义就是浮动是不占据空间位置,所以会直接出现类似报纸文章样式现象...div> 看现象 可以看到,我们明明设置了距离上面100 距离下面100 但是最后距离只有100 这个现象就做margin重叠 给其中一个子元素添加BFC进行解决...marginTop100px,但是其实内部相对位置是没有发生改变,当然这时候你可以使用padding进行解决,但是不建议,因为这样会有副作用,比如影响当前行所有元素高度 给外部元素添加BFC

57310

脱离文档流分析(转)

浮动框之后inline元素,会为这个框空出位置,然后按顺序排列。如下第一个例子box2是浮动框,其后跟一个块元素;例子2是浮动框后跟一个内联元素。...这个原因是因为第一个大盒子里子元素使用了浮动,脱离了文档流,导致.container没有被撑开。box3认为.container没有高度(未被撑开),因此跑上去了。...但是为了计算方便:一般都会增加一个div块,并使用clear:both来设定表示两侧都不允许有浮动元素。这样新div块会下移,达到撑开元素目的。...重点:如果设置了position属性,例如position:relative;,那么子元素就会以左上角为原始点进行定位。...这样能很好解决自适应网站标签偏离问题,即为自适应,那我子元素就设置position:absolute;元素设置position:relative;,然后Top、Right、Bottom、Left

1.3K20

前端面试之HTML && CSS

box重叠 BFC是一个独立容器,容器里面的子元素不会影响到外面的元素 计算BFC高度时,浮动元素也参与计算高度 元素类型display属性,决定了这个Box类型。...优点:可以快速适用移动端布局,字体,图片高度 缺点: ①目前 ie 不支持,对 pc 页面来讲使用次数不多; ②数据量大:所有的图片,盒子都需要我们去给一个准确值;才能保证不同机型适配; ③在响应式布局中...另外当元素浮动了起来之后,它有着块元素一些性质例如可以设置宽高等,但它与inline-block还是有一些区别的,第一个就是关于横向排序时候,float可以设置方向而inline-block方向是固定...;还有一个就是inline-block在使用时有时会有空白间隙问题 缺点 最明显缺点就是浮动元素一旦脱离了文档流,就无法撑起元素,会造成元素高度塌陷。...class="parent"> //添加额外标签并且添加clear属性 //也可以加一个br标签 添加

4.4K10

CSS 实用手册

外边距溢出, 特殊场合下,为子元素设置外边距(上下)会作用到元素上 特殊场合: a. 元素没有边框(上下) b. 为第一个(最后一个)子元素设置外边距 解决方案: a....浮动元素依然位于元素之内 ⑤. 解决问题-多个块元素在一行内显示问题 (3). 浮动引发特殊效果 ①. 当元素容纳不下所有已浮动子元素,最后一个将换行显示(有可能被卡住) ②....浮动元素为元素高度带来影响,元素高度是以未浮动子元素高度为准,如果一个元素中所有的子元素全部都是浮动,那么该元素高度为 0,解决元素高度问题方案: (1)....#tbl td:first-child 获取 id 为 tbl 表格中每个 tr 中第一个 td B. :last-child 获取属于其父元素中最后一个子元素 C....在元素第一个最后一个子元素位置处,增加一个空 table 用内容生成解决外边距代码如下: 选择器:before{ content:""; display:table

2.7K10

div高度设置100%无效问题

今天遇到一个问题,给div设置高度 height: 100%;却没有生效,在f12审查元素时候可以看到高度占据了半屏,并没有占据100%全屏,也就是说,div高度设置100%无效。 ?...记录一下解决办法: 找到div元素,并且给元素手动设置一个高度,这个问题就解决了。...错误原因,根本在于没有浏览器是计算元素高度宽度原理: Web浏览器在计算有效宽度时会自动将页面内容平铺填满整个横向宽度。...但是浏览器根本就不计算内容高度, 当一个元素高度设定为百分比高度时, 无法根据获取元素高度,也就无法计算自己高度。...原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1 90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存程序媛一枚。

5K20

前端面试题2(CSS)

优先就近原则,同权重情况下样式定义最近者为准 载入样式以最后载入定位为准 优先为: !...absolute 生成绝对定位元素,相对于值不为 static第一个元素进行定位。 fixed (老IE不支持) 生成绝对定位元素,相对于浏览器窗口进行定位。...:after 在元素内部最前添加内容 :before 在元素内部最后添加内容 :nth-child(n) 匹配元素下指定子元素,在所有子元素中排序第n :...absolute; top:50%; /*元素高度50%*/ margin-top: -150px; /*自身高度一半*/ } 未知高度父子元素居中,模拟表格布局 缺点:IE67不兼容...一个高度自适应div,里面有两个div一个高度100px,希望另一个填满剩下高度 方案1: .sub { height: calc(100%-100px); } 方案2: .container

2.8K11

前端面试题归类-css

无论属于哪种,都要先找到其祖先元素中最近 position 值不为 static 元素,然后再判断:若此元素为 inline 元素,则 containing block 为能够包含这个元素生成第一个最后一个...浮动带来问题:元素高度无法被撑开,影响与元素同级元素与浮动元素同级非浮动元素(内联元素)会跟随其后若非第一个元素浮动,则该元素之前元素也需要浮动,否则会影响页面显示结构。...清除浮动方式:div定义height最后一个浮动元素后加空div标签 并添加样式clear:both。包含浮动元素标签添加样式overflow为hidden或auto。...div定义zoom设置元素浮动后,该元素display值是多少?自动变成display:blockmarginpadding分别适合什么场景使用?...区域会自动分配水平空间有一个高度自适应div,里面有两个div一个高度100px,希望另一个填满剩下高度外层div使用position:relative;高度要求自适应div使用position

1.6K40

CSS清除浮动

因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。 如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。...一个元素设置了浮动(即 float 值为 left, right 或 inherit 并从父元素上继承 left 或 right 值)常见缺陷是——影响它兄弟元素位置元素产生高度塌陷,下面对这两个问题展开说明...清除浮动 盒子设置一个boder,内部放两个盒子一个big 一个small,未给bigsmall设置浮动,则他们会默认撑开盒子 ? 给内部两个盒子加上float属性时候 ?...顶部深蓝色盒子就会顶上来,然后父盒子因为没设置高度,变成一条线,bigsmall已经浮动了 总结一下: 1.当元素不给高度时候, 2.内部元素不浮动时会撑开 3.而浮动时候,元素变成一条线 4....浮动元素自己会有一套排列规则,相当于在页面上面浮动着一层新页面 1.额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)(不推荐) <!

2.3K20

网页布局基础

盒模型允许我们在其它元素周围元素边框之间空间放置元素。 元素宽度高度: 重要: 当你指定一个CSS元素宽度高度属性时,你只是设置内容区域宽度高度。...为一个定值,子层设置width为100%(以包含块宽度为准自适应)。...这样的话,该框及其所有内容就不再显示,不占用文档中空间。 但是在一种情况下,即使没有进行显式定义,也会创建块元素。这种情况发生在把一些文本添加到一个元素(比如 div开头。...可以使用水平内边距、边框外边距调整它们间距。但是,垂直内边距、边框外边距不影响行内框高度。由一行形成水平框称为行框(Line Box),行框高度总是足以容纳它包含所有行内框。...>自适应宽度列(因为绝对定位元素会导致元素高度塌陷,所以一定要保证固定宽度列高度>自适应宽度列,才能让绝对定位元素放进容器里)

1.8K20

css样式—字体垂直、水平居中

(1) 总是在新行上开始,占据一整行;     (2) 高度,行高以及外边距内边距都可控制;   (3) 宽度始终是与浏览器宽度一样,与内容无关;   (4) 它可以容纳内联元素其他块元素。   ...元素这个属性对它下面的子元素也起作用,比如一个div设置了text-align居中,则它内部文字可以居中,它div内部文字也可以居中。...但是子元素中文字居中,是在子div中居中,而不是对于div居中。也就是,它里面所有的文字,都会相对于最靠近自己一层div来实现居中。所以,这个属性不能用于divdiv整体居中。...5 块元素中文字图片垂直居中(针对块高度确定,这个是从另一个博客上看到,真的很实用哦,如果块内只有这些文字的话)   文字在层(块元素)中垂直居中vertical-align 属性是做不到... 6 块元素中文字图片垂直居中(块高度不确定)   在块高度不确定情况下,其实它高度就是取决于里面内容高度

4.1K100

【CSS】CSS 总结 ⑥ ( 盒子模型摆放机制 - 普通流 浮动 定位 | 浮动 - 脱离标准流 | 清除浮动语法 | 额外标签法 | after 伪元素清除浮动 ) ★

, 脱离浮动元素在标准流上方显示 ; 浮动特性 ( 取消占用位置 ) : 脱离标准流 浮动元素 原来在标准流布局中位置 , 也被取消 , 被后面的标准流元素占据 ; 网页中 Display...容器内边距 ; 二、CSS 清除浮动 1、清除浮动 简介 在开发页面时 , 遇到下面的情况 , 容器 没有设置 内容高度 样式 , 容器中 子元素 设置了 浮动样式 , 脱离了标准流 , 高度会默认设置为...0 像素 问题 ; 清除浮动 效果 : 容器 检测高度时 , 会考虑 浮动子元素 高度 , 将浮动元素高度 计算在容器高度中 ; 2、清除浮动 语法 - 额外标签法 清除浮动语法 : CSS...: both; 一种样式 ; 推荐使用 " 额外标签法 " , 在最后一个浮动元素末尾 , 添加一个额外标签 , 如下 : 使用 其它标签 也可以..., 不能自动换行 , 部分子元素会被隐藏 ; 4、额外标签法 overflow 样式法弊端 额外标签法 清除浮动 , 会 新增很多无意义标签 , 使得 HTML 标签结构混乱 ; 元素设置 overflow

10710

CSS理解之margin

只发生在垂直方向(margin-top/margin-bottom) margin重叠三种情况: 相邻兄弟元素 第一个/最后一个子元素 空block元素(自己自己重叠) demo 1: 1...> 兄弟元素上下margin发生了重叠 2.第一个/最后一个子元素 demo 1: <!...demo 2: 为元素第一个子元素之间添加一个 (空格或文字、图片等内联元素)inline元素 <!...例2: image.png 我们设置左右定位值left:0; right:0;,它宽度同样自动填充填满了它所在容器,只不过它容器是它第一个相对定位元素。...image.png 上图水平方向剧中了,但是垂直方向不剧中,元素高度有了,子元素高度也有了,为什么还是不垂直居中呢?

1.7K20

css-height

那么,htmlbody标签高度也都是由子元素堆砌撑起来。 ​...元素高度百分比需要向上遍历标签要找到一个定值高度才能起作用,如果中途有个height为auto或是没有设置height属性,则高度百分比不起作用,此时情况是元素高度依赖子元素堆砌撑高,而子元素依赖元素定高起作用...设置htmlheight:100%,就是浏览器可视高度! 注意: body为100*100,div1为70*70,继承元素内容高度,不包括borderpadding!...一旦html标签含有背景色,则body背景色变成了正常body标签(一个实实在在,普普通通标签)背景色,而此时html标签最顶级,背景色被浏览器获取,成为浏览器背景色 div为块元素,默认占据一行...注意: 这是定位元素受到定位元素高度影响行之有效方式! 绝对定位元素高度与元素本身大小无关,直到文档后面的元素都被处理完毕,才可能知道高度

1.1K21
领券