CSS中的计算函数

前言


🎯大家好我是一溪风月一名普普通通的前端开发,做前端两年多了,但是自己反思了一下,在这两年多的时间,在对技术的追寻上一直都是追求新与多在这个道路上往往忽略了前端最本质的东西,那就是前端究竟在做什么,前端的价值和意义在什么地方,前端的基础,经过自己的思考决定从头学习下前端的知识,让自己沉下心来查漏补缺,放弃追逐新东西,寻找自己,了解自己。

一.什么是CSS中的函数?


😊我们知道在CSS中有很多类似于rgb rgba rotate scale等等,其实这些就是CSS中的函数,就像rgb在颜色中应该没有一个颜色叫做rgb吧,其实这些都是CSS提供给我们的函数供我们传入一些数据让引擎来进行计算,返回给我们具体的颜色值,这样做的好处是比较灵活,今天我们就在这些内容的基础上学习一些CSS中常见且好用的CSS计算函数。

  1. var:使用CSS定义的变量。
  2. calc:计算CSS的值,通常用于计算元素的大小和位置。

二.var函数的使用


🤡我们在日常的开发中可能会遇到这样的场景,在页面中有很多相同的颜色值,这样的话我们就需要一次一次的去复制粘贴对应的颜色,但是可能有时候我们需要直接把这些相同的颜色全部更换成某个颜色,那么我们就老老实实的一个一个的修改,会很多麻烦,也可能容易出现错误,所以CSS就提供了var函数,用来使用CSS定义的变量,那么CSS是如何定义变量的哪?

😶‍🌫️CSS定义变量的方式如下,需要在定义的变量名前面加上--表示这是自定义的变量。

css 复制代码
--main-color:red

🎯我们使用自定义变量的方法很简单,就是使用我们所说的var函数来使用它。

css 复制代码
:root {
  --main-color: red;
}
/* :root 选中的就是html标签 */

.main-box {
  color: var(--main-color);
}

🔔变量的定义位置建议定义在html当然我们可以使用:root来代替,因为定义变量的使用规则就是只有它的子节点可以使用,所以一般我们都会定义在全局中,这点跟JS中的作用域比较相似,可以类比理解。

三.calc函数的使用


👽calc的使用场景是进行一些简单的数学运算,假如有一个大盒子中套了两个小盒子,一个盒子宽度固定,我们想要另一个盒子将剩余的内容占满,其实这个需求很简单哪,我们直接使用flex布局就可以了,但是如果我们不使用这个布局的方式该如何进行实现哪?

css 复制代码
.main-box {
  width: 700px;
  height: 100px;
  background-color: aquamarine;
}

.main-box>div:first-child {
  display: inline-block;
  width: 300px;
  height: 100%;
  background-color: antiquewhite;
}

.main-box>div:last-child {
  display: inline-block;
  width: calc(700px - 400px);
  height: 100%;
  background-color: blueviolet;
}

🔔注意:当我们在进行calc的计算的时候运算符左右两边需要空格,否则会没有反应。


相关推荐
用户62960593247052 分钟前
从“浏览器根本区分不了”到真正实现:刷新不退出,关闭标签页自动退出,前端判断浏览器关闭和刷新
前端
qetfw4 分钟前
MWU:Vue 3 + FastAPI 的 MaaFramework 跨平台 WebUI 源码
前端·vue.js·python·fastapi·开源项目·效率工具
mfxcyh5 分钟前
Vue3+Ant Design Vue 实现手动异步文件上传(含大小校验、弹窗上传)
前端·javascript·vue.js
wordbaby6 分钟前
Web端热敏标签打印完整解决方案(QZ Tray + 译维A42)
前端
swipe11 分钟前
03|Axios 请求进了后端之后:Controller、Request、Response 是怎么接住它的?
前端·后端·全栈
meilindehuzi_a16 分钟前
Vue3进阶基础:指令修饰符、v-model表单绑定、动态样式、计算属性与侦听器实战
前端·javascript·vue.js
csdn2015_22 分钟前
vue 前端运行命令
前端·javascript·vue.js
swipe22 分钟前
02|从 `pnpm dev` 到 Spring Boot 启动:后端服务到底怎么跑起来?
前端·后端·全栈
swipe35 分钟前
01|前端人第一次打开 Spring Boot 项目,应该先看哪里?
前端·后端·全栈
Cobyte42 分钟前
根据浏览器解析 HTML 的规范实现 HTML 解析器
前端·javascript·vue.js