• CSS的calc函数不会还有人没有用吧


    🥭 写在前面

    CSS3新增的函数中有一个非常好用的函数,就是calc()函数,用过的都说好,这篇文章我们来唠一老calc函数。

    🍎 calc函数怎么用

    CSS的calc()函数可以实现属性值的计算,例如下面这段代码:

    min-height: calc(100vh - 128px); 
    
    • 1

    这段代码通常会出现在布局中,64px为顶部栏和底部栏的高度,这样就可以轻松实现Sticky Footer布局。

    calc()函数支持四则运算,但是乘法中必须有一个值是数字除法的除数必须也是数字(不能是0)。

    🍑 calc函数不生效?

    在使用calc()函数时,可能会出现不生效的问题,究其原因,就是你的VSCode没有开代码格式化功能(开个玩笑);如果我们将上面那带代码修改成:

    min-height: calc(100vh-128px); 
    
    • 1

    他就不会生效,原因是这个属性值被解析成两个长度单位,分别是100vh-128px,所以在我们使用**********运算符时两边必须要有空白字符**。

    🍏 使用calc函数完成一些布局方案

    CSS3的calc()函数可以帮助我们实现很多布局方案,我们依次介绍一下。

    🍒 水平垂直居中

    步骤如下:

    1.使子元素相对于容器元素定位2.子元素开启绝对定位3.设置该元素的偏移量,值为50% 减去宽度/高度的一半实现CSS代码如下:

    .parent {/* 1. 使子元素相对于本元素定位 */position: relative;
    }
    .child {/* 2. 开启绝对定位 */position: absolute;/* 3. 设置该元素的偏移量,值为 50%减去宽度/高度的一半 */left: calc(50% - 150px);top: calc(50% - 150px);
    } 
    
    • 1
    • 2
    • 3
    • 4

    🍓 两列布局

    步骤如下:

    1.左边列开启浮动2.右边列开启浮动3.右边列宽度为父级 100%减去左列的宽度实现CSS代码如下:

    .left {/* 左边列开启浮动 */float: left;
    }
    .right {/* 右边列开启浮动 */float: left;/* 宽度减去左列的宽度 */width: calc(100% - 200px);
    } 
    
    • 1
    • 2
    • 3
    • 4

    🫐 sticky footer布局

    使用calc函数实现sticky footer布局比较简单,中间的容器最少高度为视口宽度的100% - 头部和底部两部分的高度即可完成该功能。

    实现CSS代码如下:

    .container {/* 这里的 中间 部分的容器最少为视口宽度的 100% - 头部和底部两部分的高度即可完成该功能 */min-height: calc(100vh - 200px);
    } 
    
    • 1
    • 2

    🍈 全屏布局

    实现步骤如下:

    1.通过calc函数计算出中间容器的高度。2.中间出现滚动条的容器设置overflow: auto即出现滚动条的时候出现滚动条。实现CSS代码如下:

    .content {overflow: hidden;/* 通过 calc 计算容器的高度 */height: calc(100vh - 200px);
    }
    .left {height: 100%;
    }
    .right {/* 如果超出出现滚动条 */overflow: auto;height: 100%;
    }
    .right-in {/* 假设容器内有500px的元素 */height: 500px;
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    {完}

  • 相关阅读:
    shell——函数,正则
    如何实现超大场景三维模型数据坐标转换
    【精通内核】Linux内核并发控制原理信号量与P-V原语源码解析
    Python精髓之括号家族:方括号、花括号和圆括号,你真的会用吗?
    java python基于Vue宠物交流网站管理系统
    Android虚拟机线程启动过程解析, 获取Java线程真实线程Id的方式
    oracle查询数据库内全部的表名、列明、注释、数据类型、长度、精度等
    android res目录资源使用说明
    RabbitMQ工作模式——Topics模式
    算法题:Order of Tasks
  • 原文地址:https://blog.csdn.net/web2022050902/article/details/126086897