前言

数学表达式calc()是CSS中的函数,主要用于数学运算。使用calc()为页面元素布局提供了便利和新的思路。

概念

数学表达式calc()是calculate计算的缩写,它允许使用+、-、*、/这四种运算符,可以混合使用%、px、em、rem等单位进行计算

[兼容性] IE8-、safari5.1-、ios5.1-、android4.3-不支持,android4.4-4.4.4只支持加法和减法。IE9不支持用于backround-position

[注意]+和-运算符两边一定要有空白符(只有留了空白符后css才会判断出是进行运算)

  1. <style>
  2. .test1{
  3. border: calc( 1px + 1px ) solid black;
  4. /* calc里面的运算遵循*、/优先于+、-的顺序 */
  5. width: calc(100%/3 - 2*1em - 2*1px);
  6. background-color: pink;
  7. font-style: toggle(italic, normal);
  8. }
  9. .test2{
  10. /* 由于运算符+的左右两侧没有空白符,所以失效 */
  11. border: calc(1px+1px) solid black;
  12. /* 对于,不能小于0的属性值,当运算结果小于0时,按0处理 */
  13. width: calc(10px - 20px);
  14. padding-left: 10px;
  15. background-color: lightblue;
  16. }
  17. </style>
  1. <div class="test1">测试文字一</div>
  2. <div class="test2">测试文字二</div>

.test1{
border: calc( 1px + 1px ) solid black;
/* calc里面的运算遵循*、/优先于+、-的顺序 */
width: calc(100%/3 - 2*1em - 2*1px);
background-color: pink;
font-style: toggle(italic, normal);
}
.test2{
/* 由于运算符+的左右两侧没有空白符,所以失效 */
border: calc(1px+1px) solid black;
/* 对于,不能小于0的属性值,当运算结果小于0时,按0处理 */
width: calc(10px - 20px);
padding-left: 10px;
background-color: lightblue;
}

测试文字一
测试文字二

[重点] 数学表达式calc()常用于布局中的不同单位的数字运算

  1. <style>
  2. #vh_box{width:100%; height: 100%;}
  3. .vh_t0{width:100%;height:200px; background:blue; }
  4. .right{width:100%; height:calc( 100vh - 200px ); background:red;} // 浏览器会计算出 100vh 减去 200px 的值。这样对于不同单位的运算是非常便利的。
  5. </style>
  6. <div id="vh_box">
  7. <div id="vh_t0"></div>
  8. <div id=""vh_t1></div>
  9. </div>

#vh_box{width:100%; height: 100%;}
#vh_t0{width:100%;height:200px; background:blue; }
#vh_t1{width:100%; height:calc( 100vh - 200px ); background:red;}

css中的数学表达式calc()的更多相关文章

  1. 理解CSS中的数学表达式calc()

    前面的话 数学表达式calc()是CSS中的函数,主要用于数学运算.使用calc()为页面元素布局提供了便利和新的思路.本文将介绍calc()的相关内容 定义 数学表达式calc()是calculat ...

  2. CSS当中数学表达式calc

    CSS当中数学表达式calc  数学表达式calc()是CSS中的函数,主要用于数学运算.使用calc()为页面元素布局提供了便利和新的思路.本文将介绍calc()的相关内容 定义 数学表达式calc ...

  3. Oracle中有关数学表达式的语法

    Oracle中有关数学表达式的语法 三角函数 SIN               ASIN              SINHCOS             ACOS           COSHTA ...

  4. css中新增的属性calc()可以计算使用

    什么是calc: calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度.可以使用calc()给元素的border.margin.pading.font-s ...

  5. 如何在C#中运行数学表达式字符串

    方法1:利用DataTable中的Compute方法 1 string expression = "1+2*3"; 2 DataTable eval = new DataTable ...

  6. [Swift通天遁地]五、高级扩展-(14)扩展String快速计算字符串中的各种数学表达式

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. WHY数学表达式的3D可视化

    WHY数学表达式的3D可视化 很早之前我就有这种想法,将数学表达式的图形显示出来.最近终于实现了这套较为完善的版本,将其代码公布,也为开源做点贡献.首先系统中定义一套脚本语言格式,用于描述数学表达式. ...

  8. css3 calc():css简单的数学运算-加减乘除

    css3 calc():css简单的数学运算–加减乘除 多好的东西啊,不用js,一个css就解决了. .box{ border:1px solid #ddd; width:calc(100% - 10 ...

  9. CSS中新属性calc()

    CSS3的calc()使用 原文: http://www.w3cplus.com/css3/how-to-use-css3-calc-function.html © w3cplus.com calc( ...

随机推荐

  1. RabbitMQ广播:direct模式

    一. 消息的广播需要exchange:exchange是一个转发器,其实把消息发给RabbitMQ里的exchange fanout: 所有bind到此exchange的queue都可以接收消息,广播 ...

  2. Python开发【内置模块篇】configparser

    生成配置文件 import configparser config = configparser.ConfigParser() config[', 'Compression': 'yes', ', ' ...

  3. .net 添加api不能访问的问题

    在一个.netmvc项目中,本身没有提供api后来想添加api就会出现问题.会发生添加的apicontrol不能访问的情况.这种情况一般是因为,global文件中,application_start( ...

  4. SpringIOC和AOP简单概述

    Spring学习:主要学习两大块IOC   AOP 一.IOC   IOC:控制反转(也可以叫做依赖注入)的基本认识:   当某个Java对象(调用者)需要调用另一个Java对象(被依赖对象)的方法时 ...

  5. svn冲突意思

    运行svn update更新本地内容是,发生冲突: Conflict discovered in '/home/user/test/test_web.py'. Select: (p) postpone ...

  6. Redis原理

    RESP协议 支持tcp协议.基本数据类型,比如数组,字符串等,也可支持其他的通信场景. 模拟redis接收传输过来的set数据 //ServerSocket监听6379端口模拟redis publi ...

  7. (转)lwip TCP client & FreeRTOS 打开TCP 的 保活机制 LWIP_TCP_KEEPALIVE==1

    参考大神教程:http://blog.sina.com.cn/s/blog_62a85b950101aw8x.html   老衲五木 :http://blog.sina.com.cn/s/blog_6 ...

  8. 如何卸载VS 2017之前版本比如VS 2013、VS2015、 VS vNext?

    前言 大学专业为软件工程,进入大学之后才知道这个专业需要用到笔记本,我的笔记本配置为I3,内存4个G,已经有大几年了,中间坏了修了一次一直用到现在,这个笔记本还是我哥打工过年回来身上仅有的三四千块钱所 ...

  9. [2019BUAA软工助教]第0次个人作业

    [2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大 ...

  10. [Alpha阶段]第四次Scrum Meeting

    Scrum Meeting博客目录 [Alpha阶段]第四次Scrum Meeting 基本信息 名称 时间 地点 时长 第四次Scrum Meeting 19/04/08 大运村寝室6楼 50min ...