calc()

CSS中除了使用具体的值,还可以使用calc()方法来执行一些计算。

语法

/* property: calc(expression) */

width: calc(100% - 60px);

calc()函数用一个表达式作为参数,用表达式的结果作为值。

表达式的运算对象可以使用任意长度值,并且可以混用(px/em),也可以通过小括号()来调整计算顺序。

表达式中可以使用+|-|*|/操作符来操作运算对象来得到结果。

请注意,+和-运算符的两边必须要有空白字符,否则为无效值,虽然*和/运算符不要求,但是为了统一,最好也加上空格。

calc()支持变量嵌套,语法如下:

.var {

--var1: 80px;

--var2: calc(var(--var1) / 2);

--var3: calc(var(--var2) / 2);

width: var(--var3); /* 80px/2/2 = 20px */

}

用途

主要用于计算不确定值,比如要定义一个父元素size不确定的,margin为2em宽度为100%的子元素。如果用以下方式定义,则会发生溢出的情况

.block{

width: 100%;

margin: 2em;

}

通过calc()就可以很方便的定义出来

.block{

width: calc(100% - 4em);

margin: 2em;

}

vw/vh长度单位

vm/vh是CSS的相对长度单位。

与百分比%很类似都是相对长度单位,两者的主要区别是,vw/vh是相对于浏览器可视窗口viewport的,而%是相对于父元素大小的,如果父元素大小不固定,设置%是没有意义的,但是浏览器可视窗口大小是一直可用的。

什么是viewport

视口(viewport)代表当前可见的计算机图形区域。在Web浏览器术语中,通常与浏览器窗口相同,但不包括浏览器的 UI, 菜单栏等——即指你正在浏览的文档的那一部分。

值得注意的是页面中的一些导航菜单也包括在其中。Viewport外的区域,可能需要滚动到其所在的区域才会出现在屏幕上。

概括地说,viewport基本上是当前文档的可见部分/浏览器可视区域。

相对窗口Size的长度单位

有4个相对于窗口Size的长度单位:

单位

相对于

vw

视窗宽度的1%

vh

视窗高度的1%

vmin

视窗较小尺寸的1%(vw/vh较小的值)

vmax

视图大尺寸的1%(vw/vh较大的值)

结合使用

之所以把calc和vw/vh放在一起介绍,主要原因就是两者经常结合起来一起使用。

比如要定义一个左测宽度固定的横向两列布局,就可以用以下代码实现(当然这个需求有n多实现方式,比如float/flex等)

body {

margin: 0;

padding: 3px;

overflow: hidden;

}

.left {

width: 200px;

height: calc(100vh - 6px);

display: inline-block;

}

.right {

width: calc(100vw - 206px);

height: calc(100vh - 6px);

display: inline-block;

}

css单位计算方法,CSS中的calc()计算和vw/vh长度单位相关推荐

  1. css单位计算方法,CSS中的单位和百分比计算

    CSS中的单位和百分比计算 发布时间:2020-05-23 15:53:59 来源:亿速云 阅读:217 作者:鸽子 CSS中的单位 绝对单位 in-英寸: cm; mm; pt-磅 相对单位 em- ...

  2. css3中使用calc()计算宽高

    calc()是什么? 是CSS3中新增的一个函数,calculate(计算)的缩写.用于动态计算宽/高,你可以使用calc()给元素的各个属性设置值[margin.border.padding.fon ...

  3. CSS 单位及其需要注意的地方

    CSS 单位及其需要注意的地方 px(Pixel):绝对长度单位,绝对像素值,它取决于显示器的分辨率.一旦分辨率确定,设置为 px 的尺寸就成为固定尺寸,不会自动缩放.(1px = 1/96 英寸) ...

  4. 移动端适配方案(rem和vw vh适配)(css预处理器-less)

    适配方案: 目前移动端适配方案有两种: 1.flex+rem单位 当前市面上用的比较多 相对主流(比如小米和淘宝移动端) 2.flex+viewport width/viewport height(v ...

  5. css3的vw单位,vh单位的讲解,以及vw vh的兼容性

    vw vh的介绍 vw,vh是css3中给我们提供的新的单位,他们是相对于viewport视窗的宽高进行计算的单位.说白了,就是相对于浏览器的窗口的大小. vw单位 vw是相对于视窗宽度的单位, 1v ...

  6. vw 前端_css3的vw单位,vh单位的讲解,以及vw vh的兼容性

    vw vh的介绍 vw,vh是css3中给我们提供的新的单位,他们是相对于viewport视窗的宽高进行计算的单位.说白了,就是相对于浏览器的窗口的大小. vw单位 vw是相对于视窗宽度的单位, 1v ...

  7. CSS中的常见单位(px,%,em,rem,vw,vh,vmax,vmin,calc)

    像素(px)&百分比(%) 像素(Pixel) 长度单位,相对于显示器屏幕分辨率而言,通常在不定义显示缩放比例的情况下,1px对应显示器屏幕上的一个像素点. 早年的pc端展示的页面基本都用这个 ...

  8. 前端css单位小结:vh、vw、百分比、rem、px、计算属性calc

    写在前面: 本文作为本人学习总结之用,同时分享给大家~ 个人前端博客网站:zhangqiang.hk.cn 欢迎加入博主的前端学习qq交流群::706947563,专注前端开发,共同学习进步! 前端c ...

  9. rem css calc,关于使用rem单位、css函数calc()进行自适应布局

    一.关于css中的单位 大家都知道在css中的单位,一般都包括有px,%,em等单位,另外css3新增加一个单位rem. 其中px,%等单位平时在传统布局当中使用的比较频繁,大家也比较熟悉,不过px单 ...

最新文章

  1. 当我们在说微服务治理的时候究竟在说什么
  2. python汉明距离检索_Python中的汉明距离
  3. shell脚本练习,创建数据文件注册用户并将用户信息存入文件内,用于模拟登录时使用...
  4. 使用DLL进行不同语言之间的调用
  5. win8 linux分区工具,Ubuntu下挂载Win8磁盘分区
  6. ROS+雷达 运行数据记录
  7. matplotlib.pyplot.bar()条形图
  8. pysimplegui 显示 html,PySimpleGUI 的第一个桌面软件
  9. 今天,强行打个广告!
  10. 基于 Arduino 的 RFID 识别实验
  11. C/C++作用域运算符::
  12. 在线文本代码对比工具
  13. 使用js-xlsx纯前端导出excel
  14. java applet图形_java APPlet 绘制图像
  15. html rfftq15.gif,stm32f4中用SD卡存储DCMI的图像
  16. python爬取b站视频封面_我发现这个up封面确实有点东西,爬取B站视频的封面图片...
  17. 8021什么意思_无线网络标准IEEE802.11n是什么意思
  18. Android 应用在后台弹出提示相关的笔记1
  19. html文本打印lt;igt;字段,6-HTMLlt; formgt;表单标签和属性
  20. 王道考研机试指南代码合集

热门文章

  1. 计算机缓冲器原理,缓冲区溢出攻击原理-信息安全工程师知识点
  2. 海外应用商店的ASO优化流程
  3. 在职读硕士、博士的五大优势
  4. 武汉商学院计算机学院分数线,武汉商学院分数线2019(王牌专业)
  5. 2022云南昆明市农村信用合作社联合社招聘精选题及答案
  6. idea替换的快捷键
  7. 交换器限制局域网速度方法:qos限制局域网网速
  8. EWMA 指数加权移动平均 模型
  9. python和vue结合开发前端,请手动配置Vue开发环境
  10. Pandas数据分析18——pandas文本处理