CSS的calc函数用法小结


Posted in HTML / CSS onJune 25, 2022

 calc函数怎么用

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

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

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

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

calc函数不生效?

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

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

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

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

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

水平垂直居中

步骤如下:

  • 使子元素相对于容器元素定位

  • 子元素开启绝对定位

  • 设置该元素的偏移量,值为50% 减去宽度/高度的一半

实现CSS代码如下:

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

 两列布局

步骤如下:

  • 左边列开启浮动

  • 右边列开启浮动

  • 右边列宽度为父级 100%减去左列的宽度

实现CSS代码如下:

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

sticky footer布局

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

实现CSS代码如下:

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

全屏布局

实现步骤如下:

  • 通过calc函数计算出中间容器的高度。

  • 中间出现滚动条的容器设置overflow: auto即出现滚动条的时候出现滚动条。

实现CSS代码如下:

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

到此这篇关于CSS的calc函数用法小结的文章就介绍到这了,更多相关css calc函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 

Tags in this post...

HTML / CSS 相关文章推荐
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
Mar 09 HTML / CSS
使用JS+CSS3技术:让你的名字动起来
Apr 27 HTML / CSS
CSS中的字体大小设置属性总结
May 24 HTML / CSS
使用css实现android系统的loading加载动画
Jul 25 HTML / CSS
html5应用缓存_动力节点Java学院整理
Jul 13 HTML / CSS
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
May 03 HTML / CSS
html5+svg学习指南之SVG基础知识
Dec 17 HTML / CSS
HTML5新增的8类INPUT输入类型介绍
Jul 06 HTML / CSS
HTML5地理定位_动力节点Java学院整理
Jul 12 HTML / CSS
解决HTML5手机端页面缩放的问题
Oct 27 HTML / CSS
Canvas实现保存图片到本地的示例代码
Jun 28 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
Nov 30 HTML / CSS
flex布局中使用flex-wrap实现换行的项目实践
Jun 21 #HTML / CSS
css3手动实现pc端横向滚动
Jun 21 #HTML / CSS
使用CSS自定义属性实现骨架屏效果
Jun 21 #HTML / CSS
css如何把元素固定在容器底部的四种方式
css中有哪些方式可以隐藏页面元素及区别
Jun 16 #HTML / CSS
CSS控制继承中的height能变为可继承吗
Jun 10 #HTML / CSS
css样式important规则的正确使用方式
Jun 10 #HTML / CSS
You might like
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
Python数据类型详解(一)字符串
2016/05/08 Python
python并发编程之线程实例解析
2017/12/27 Python
Python读取properties配置文件操作示例
2018/03/29 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python实现126邮箱发送邮件
2020/05/20 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
主题婚礼策划方案
2014/02/10 职场文书
实习公司领导推荐函
2014/05/21 职场文书
房产授权委托书范本
2014/09/22 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python