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

如何使用calc() CSS计算中间div(3div)的高度

在CSS中,calc()函数可以用来进行数值计算,可以用于计算中间div的高度。calc()函数接受一个字符串作为参数,字符串中包含数值和运算符,以及可选的单位。

要使用calc()函数计算中间div的高度,首先需要确定其宽度以及与其他元素的关系。假设有一个父容器div,包含3个子div,并且希望中间div的高度等于父容器的高度减去上下两个子div的高度之和。

可以使用以下步骤来使用calc()函数计算中间div的高度:

  1. 确定父容器的高度,可以通过设置父容器div的height属性来指定具体的高度值,或者使用其他布局技术来自动确定高度。
  2. 确定上下两个子div的高度,可以通过设置它们的height属性来指定具体的高度值,或者使用其他布局技术来自动确定高度。
  3. 使用calc()函数计算中间div的高度,通过设置其height属性,并将calc()函数作为值传递给该属性。具体计算公式为:calc(父容器高度 - 上子div高度 - 下子div高度)。

以下是一个示例代码:

HTML:

代码语言:txt
复制
<div class="parent">
  <div class="child">上子div</div>
  <div class="child">中间div</div>
  <div class="child">下子div</div>
</div>

CSS:

代码语言:txt
复制
.parent {
  height: 300px; /* 确定父容器的高度 */
}

.child {
  width: 100%;
}

.child:first-child,
.child:last-child {
  height: 50px; /* 确定上下两个子div的高度 */
}

.child:nth-child(2) {
  height: calc(100% - 100px); /* 使用calc()函数计算中间div的高度 */
}

在上述示例中,父容器的高度被设置为300px,上下两个子div的高度被设置为50px。中间div的高度通过calc()函数计算得到,即300px - 50px - 50px,即为200px。

需要注意的是,calc()函数中的数值可以使用各种支持的单位,如像素(px)、百分比(%)等。并且在使用calc()函数时,需要确保浏览器兼容性,特别是对于较旧的浏览器版本。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云主页:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 音视频处理(MPS):https://cloud.tencent.com/product/mps
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动服务):https://cloud.tencent.com/product/mms
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链(BCB):https://cloud.tencent.com/product/bcb
  • 腾讯元宇宙(Meta Universe):https://metauniverse.cloud.tencent.com/
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS垂直居中七个方法

七种垂直居中方法 设定行高(line-height) 添加伪元素 calc动态计算 使用表格或假装表格 转变 绝对定位 使用Flexbox 1.设定行高(line-height) 设定行高是垂直居中最简单方式....div0 :: before { content:''; 宽度:0; 高度:100%; 显示:行内块; 位置:相对; 垂直对齐:中间; 背景:#f00; } 3.calc动态计算 看到这边或许会有疑问...这时候就必须用到CSS特有的calc动态计算能力,我们只要让要居中divtop属性,与上方距离是“ 50%外框高度-50%div高度”,就可以做到垂直居中,至于为什么不用margin-top...; 高度:40px; 背景:#00f; 向左飘浮; top:calc(50%-20px); } 4.使用表格或假装表格 或许有些人会发现,在表格这个HTML里面常用DOM里头,要实现垂直居中是相当容易...; 高度:100px; 边框:1px实线#000; 垂直对齐:中间; } td div, .like-table div { width:100px; 高度:50px; margin:0自动

2.9K30

建议收藏!总结了 42 种前端常用布局方案

使用calc函数实现 使用 calc 函数实现方式会比较简单,中间容器最少高度为视口宽度100% - 头部和底部两部分高度即可完成该功能。...实现CSS代码如下: .container { /* 这里 中间 部分容器最少为视口宽度 100% - 头部和底部两部分高度即可完成该功能 */ min-height: calc...Flex方案 实现步骤如下 开启 flex 布局 将子元素布局方向修改为垂直排列 设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部 设置中间部分容器高度为自适应 实现CSS代码如下:...使用calc函数实现 实现步骤如下: 通过 calc 函数计算中间容器高度中间出现滚动条容器设置overflow: auto即出现滚动条时候出现滚动条。...实现CSS代码如下: .content { overflow: hidden; /* 通过 calc 计算容器高度 */ height: calc(100vh - 200px)

4.2K30
  • 建议收藏!总结了42种前端常用布局方案

    使用calc函数实现 使用 calc 函数实现方式会比较简单,中间容器最少高度为视口宽度100% - 头部和底部两部分高度即可完成该功能。...实现CSS代码如下: .container { /* 这里 中间 部分容器最少为视口宽度 100% - 头部和底部两部分高度即可完成该功能 */ min-height: calc...Flex方案 实现步骤如下 开启 flex 布局 将子元素布局方向修改为垂直排列 设置最小高度为当前视口,使不管中间部分有多高,始终都可以保持在底部 设置中间部分容器高度为自适应 实现CSS代码如下:...使用calc函数实现 实现步骤如下: 通过 calc 函数计算中间容器高度中间出现滚动条容器设置overflow: auto即出现滚动条时候出现滚动条。...实现CSS代码如下: .content { overflow: hidden; /* 通过 calc 计算容器高度 */ height: calc(100vh - 200px)

    4.2K30

    面试必考点:前端布局知识

    CSS3calc函数 思路非常容易理解,就是中间三块区域加float浮动起来,从左到右依次按顺序排列,因为左右两侧宽度已知,而中间块宽度需要自适应,所以只要在屏幕宽度变化时候,通过css3方法实时计算中间内容块自适应宽度即可...是css3支持css计算函数,它能动态计算出一个值,打破传统css概念,让你css也能做计算。...使用用法:calc(表达式) calc() 使用注意点: 运算符前后都需要保留一个空格,例如:width: calc(100% - 400px); 任何长度值都可以使用calc()函数进行计算calc...()函数支持 "+", "-", "*", "/" 运算; calc()函数使用标准数学运算优先级规则; css3计算属性布局问题:也是兼容性问题了,从下面可以看出来很多浏览器还是不支持。...最后所介绍css3计算属性解决三列布局是一种比较贴近数学思想角度出发,从计算方式来解决自适应下宽度变化,但是兼容性还是较差,所以作为实际解决方案还是不妥,就当是了解CSS3新世界敲门砖吧。

    91051

    前端知识点总结(html+css)(上)

    众所周知,前端内容多而杂,经过查阅各种资料,总结了一些知识点,以备后续复习使用。文章分为上(html,css)中(js)下(vue)三部分。...属性和alt属性区别 alt属性为了给不能看到图片的人提供文字说明,图片加载失败时 title属性可以实现鼠标悬停时提示内容 css篇 学习css重点就是清楚了解布局,给你一个页面,你能一眼知道这个页面如何布局...高度塌陷 原因 很多情况父盒子不方便给高度,子盒子浮动脱离文档流不占位置,使父盒子高度为0 解决方案 在浮动元素末尾加一个空标签,设clear:both 父级添加overflow:hidden 使用...:calc(100% - 两宽度) 使用calc符号两边一定要有空格 7....px和em区别是什么 px和em都是长度单位,两者区别是:px值是固定,指定为多少就是多少,计算比较容易;em值不是固定,是相对于容器字体大小,并且em会继承父级元素字体大小。

    33711

    8则未必知道且超级实用CSS布局排版技巧 | 网易4年实践

    本文秉承「能使用CSS实现效果都优先使用CSS原则,为大家讲解笔者如何巧妙运用各种纯CSS开发技巧完成一些常见或特殊布局排版。因此笔者建议大家认真看一遍以下内容,绝对让你有所收货和惊喜。...,接下来跟着笔者体验一次如何巧妙运用各种纯CSS开发技巧完成一些常见或特殊布局排版吧。...class="right"> 为了让右列宽度自适应计算,就不使用float + margin-left方式了,若使用margin-left还得结合左中列宽度计算。...在常规实现方式里也是在这个中间列里做文章,如何使中间列内容不被左右列遮挡。.../* 基于UI width=750px DPR=2网页 */ html { font-size: calc(100vw / 7.5); } 上述代码使用calc()实现font-size动态计算

    3.3K20

    CSS 也能实现 if 判断?实现动态高度不同样式展现

    这个效果在很多场景都会出现,可以算是一个高频场景,那么在今天,我们能否不使用 JavaScript,仅仅凭借 CSS 实现类似于这样功能呢?...基于这个场景,我们假设我们有如下 HTML/CSS 结构: Lorem ipsum...,calc(100% - 200px) 表示 0 我们看看这种情况下,整个 ICON 表现是如何: 可以看到,当容器高度大于 200px 时候,箭头 ICON 确实出现了,但是,它无法一直定位在整个容器最下方...核心在于,如果 calc(100% - 200px) 计算值大于 10px,它只会取值为 10px,利用这个技巧,我们可以在容器高度超长时,把箭头 ICON 牢牢钉在容器下方,无论容器高度是多少:...虽然上面的代码,解决当 calc(100% - 200px) 计算值大于 10px 场景,但是没有解决,当 calc(100% - 200px) 计算值处于 -10px ~ 10px 这个范围内问题

    38950

    css精髓:这些布局你都学废了吗?

    在后台管理系统及api文档中使用较为广泛。 效果图 先来看看效果: 代码实现 实现两列布局方法有很多,这里主要介绍两种方法。 calc函数 calc() 函数用于动态计算长度值。...实现思路很简单,侧边栏宽度固定,设置绝对定位,使其脱离文档流,内容区域通过calc()函数计算剩余宽度并设置宽度,再加一个margin-left,值为侧边栏宽度。...1 垂直方向布局(sticky footer) 这种布局将页面分成上、中、下三个部分,上、下部分都为固定高度中间部分高度不定。...为内容区域添加最小高度 这种方法重要用vh(viewpoint height)来计算整体视窗高度(1vh等于视窗高度1%),然后减去底部footer高度,从而求得内容区域最小高度。...每一个页面都要重新计算一次,这是很麻烦,所以这种方法虽然简单但却是不推荐使用flex布局 这种方法就是利用flex布局对视窗高度进行分割。

    1K30

    css3中函数,你曾用几个?

    正文开始... calc 这是一个计算函数,通常在业务上使用也是非常之多,比如一个场景,一个三栏结构,如果想让内容铺满整个内容,但是头部与底部高度固定 有人说这个布局最简单,首先我想到就是flex,...grid,嗯,very good,小伙子骨骼惊奇,我再授一种方案 我们知道块级元素文档流是从上往下依次排列,所以我只需要借助这个特性,并且借助calc就可以实现了 单独计算main中间内容高度height...attr calc很强大,但今天有一个css3技能必须让你感受她强大,那就是传说中attr attr这个函数是一个非常有名函数,那么她可以做什么呢?...,我们使用了uniCode,这个uni-code实际上就是我们阿里矢量图标库 预览结果 attr是一个很强大函数,除了在业务中你使用它来加载unicode图标,你也可以用来加载一段文字 <div...,通常来讲你想加载css3中变量就必须使用var,比如说 Web技术学苑 对应css如下 <style

    20720

    你不应该依赖CSS 100vh,这就是原因!

    如何修复移动设备上100vh问题? 第一个建议是尽量少用 vh。例如,在上面的代码中,你可以使用一个 sticky 按钮,避免使用vh单位。...仅使用 CSS 在移动设备上修复 100VH 问题 时,使用 vh 目的是为了简单地创建与视口高度相等部分。例如,当你在建立登陆页面时,这很常见。...() 一起使用 需要注意一件事是,不能在 fill-available 属性下使用 calc()。...所以,下面的CSS规则就不会生效: min-height: calc(-webkit-fill-available / 2); 例如,如果需要在元素上有一半可用高度,必须使用JavaScript。...一些开发者喜欢根据窗口内部高度定义一个CSS变量,并使用该变量来设计他们所需元素。

    1.3K40

    CSS Viewport 单位,很多人还不知道使用它来快速布局!

    在本文中,我们将学习 CSS Viewport units(视口单位)以及如何使用它们,并用列举一些常见问题及其解决方案和用例,让我们开始吧。...假设我们有一个元素与以下CSS: .element { width: 50vw; } 当视口宽度为500px时,50vw计算如下 width = 500*50% = 250px 视口高度 vh单位表示根元素高度百分比...要解决该问题,我们需要为标题提供最小字体大小,可以使用 calc() .title { font-size: calc(14px + 2vw); } calc()CSS函数将具有一个最小值14px...为了解决这个问题,我们需要给内容(content)一个高度,它等于视口高度- (header + footer)。动态地做到这一点是很困难,但是使用CSS视口,这是很容易。...流行顶部边框 你知道大多数网站使用顶部边框吗? 通常,它颜色与品牌颜色相同,这会赋予一些个性。 ? 我们支持边框初始值为3px。 如何将固定值转换为视口对象?下面是如何计算等效vw。

    3.3K30

    CSS垂直居中七个方法

    七种垂直居中方法 设定行高(line-height) 添加伪元素 calc动态计算 使用表格或假装表格 transform 绝对定位 使用Flexbox 设定行高(line-height) 设定行高是垂直居中最简单方式...在此之前,先解释一下CSS里头vertical-align这个属性,这个属性虽然是垂直居中,不过却是指在元素内所有元素垂直位置互相居中,并不是相对于外框高度垂直居中。...vertical-align:middle; background:#f00; } calc动态计算 看到这边或许会有疑问,如果今天我div必须要是block,我该怎么让它垂直居中呢?...这时候就必须用到CSS特有的calc动态计算能力,我们只要让要居中divtop属性,与上方距离是“50%外框高度+ 50%div高度”,就可以做到垂直居中,至于为什么不用margin-top...不该用inline-block地方用了inline-block,后续反而要多写许多其他定位样式来修正,那就有点本末倒置了,因此如何活用这些CSS垂直居中方法,就要看大家版面结构而灵活运用啰!

    2.6K41

    【面试题】CSS知识点整理(附答案)

    :hidden区别 em rem vh vw calc() line-height 百分比 rem实现原理及相应计算方案 清除浮动方法及原理 postcss是什么 css modules CSS预处理器...calc() calc(): CSS3中新增一个函数, 用于动态计算宽/高, 语法非常简单,就像我们小时候学加 (+)、减(-)、乘(*)、除(/)一样,使用数学表达式来表示 使用“+”、“-”、“*...” 和 “/”四则运算; 可以使用百分比、px、em、rem等单位; 可以混合使用各种单位进行计算; 表达式中有“+”和“-”时,其前后必须要有空格,如"width: calc(12%+5em)"这种没有空格写法是错误...); 注意绝对定位元素脱离文档流,相对于最近已经定位元素进行定位, 无需考虑HTML中结构顺序 缺点:有顶部对齐问题,需要进行调整,注意中间高度为整个内容高度 float实现: 需要将中间内容放在...浮动,但左右两栏加上负margin让其跟中间div并排,以形成三栏布局。

    1.6K40
    领券