1.什么是calc()?
calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。比如说,你可以使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度。
2.calc()能做什么?
calc()能让你给元素的做计算,你可以给一个div元素,使用百分比、em、px和rem单位值计算出其宽度或者高度,比如说“width:calc(50% + 2em)”,这样一来你就不用考虑元素div的宽度值到底是多少,而把这个烦人的任务交由浏览器去计算。
3.calc()语法
calc()语法非常简单,就像我们小时候学加 (+)、减(-)、乘(*)、除(/)一样,使用数学表达式来表示:

.elm {width: calc(expression);
}

其中"expression"是一个表达式,用来计算长度的表达式。
4.calc()的运算规则
calc()使用通用的数学运算规则,但是也提供更智能的功能:
使用“+”、“-”、“*” 和 “/”四则运算;
可以使用百分比、px、em、rem等单位;
可以混合使用各种单位进行计算;
表达式中有“+”和“-”时,其前后必须要有空格,如"widht: calc(12%+5em)"这种没有空格的写法是错误的;

表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。

5.浏览器的兼容性

浏览器对calc()的兼容性还算不错,在IE9+、FF4.0+、Chrome19+、Safari6+都得到较好支持,同样需要在其前面加上各浏览器厂商的识别符,不过可惜的是,移动端的浏览器还没仅有“firefox for android 14.0”支持,其他的全军覆没。
大家在实际使用时,同样需要添加浏览器的前缀

 .elm {/*Firefox*/-moz-calc(expression);/*chrome safari*/-webkit-calc(expression);/*Standard */calc(expression);}

css3中的calc()相关推荐

  1. css3 中的calc用法

    定义与用法 calc() 函数用于动态计算长度值. 1.需要注意的是,运算符前后 都需要保留一个空格,例如:width: calc(100% - 10px): 2.任何长度值都可以使用calc()函数 ...

  2. CSS3中的calc()函数以及在less中的使用

    1. calc()函数 在CSS3中我们可以通过calc()函数来动态计算长度值,如: #div {width: calc(100% - 100px); } 它的语法是 calc(expression ...

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

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

  4. css之calc,初探CSS3中的calc()功能

    之前,我们想要实现一个完美的宽度自适应的输入框好麻烦,曾经也被作为对前端技术的一个挑战.类似的常见场景还有100%宽+边框的容器等.遇到这些情况,我们不得不分外小心,因为各个浏览器的表现可能不一致. ...

  5. CSS3中的calc( )属性

    作用: calc() 函数用于动态计算长度值 其实,calc()这个形式看起来就很容易让人想到Javascript里的函数,当然他不是js里的函数,但是他有着类似函数的功能,可以用来计算,括号里是一个 ...

  6. CSS3中使用calc()设置浏览器宽度和高度减去固定值的写法

    设置宽度:width:calc(100vw - 123px); 说明:1.vw是width of view(port)的缩写: 2.100vw表示百分之百的视图宽度: 3.123px是需要减去的宽度: ...

  7. css3中-moz、-ms、-webkit、 - o -各什么意思

    在了解css3中-moz.-ms.-webkit各什么意思前,先要了解一下浏览器的内核是什么. (一)什么是内核呢? 浏览器最核心的部分是"Rendering Engine",即& ...

  8. css3中的box-sizing属性

    盒子宽度.高度计算公式: css元素宽度 = width + padding + border css元素高度 = height + padding + border css3之前,当我们需要呈现一个 ...

  9. 浅谈CSS3中display属性的Flex布局,关于登陆页面属性框的设置

    声明:本文转发自三里屯柯南的浅谈CSS3中display属性的Flex布局http://www.cnblogs.com/xuyuntao/articles/6391728.html 基本概念 采用Fl ...

最新文章

  1. php 任意文件上传,任意文件上传漏洞
  2. PowerShell批量设置PATH环境变量
  3. 一次zabbix的渗透
  4. 关于Retinex图像增强算法的一些新学习
  5. linux重启终端后go命令,Linux基础命令之关机,重启,注销-Go语言中文社区
  6. ansible内置模块
  7. java并发编程之AbstractQueuedSynchronizer
  8. linux 批量传文件大小,小弟我使用过的Linux命令之rz - 批量下传文件,简单易用...
  9. Docker简单入门
  10. c语言实验数据类型体会,实验1-C语言开发环境使用和数据类型、运算符、表达式-实验总结与体会...
  11. 5.郝斌C语言笔记——运算符
  12. java堆和栈 常量池_Java中栈、堆和常量池
  13. win10蓝牙怎么开_摩托罗拉对讲机蓝牙写频方法
  14. python计算最大值最小值_python怎么求最大值最小值
  15. 尚学堂Spring视频教程(七):AOP XML
  16. 浪潮服务器dhcp修改ip,dhcp服务器ip地址池修改
  17. 顾泽苍:新一代人工智能——产业推动的核心理论
  18. H5一键复制 兼容iOS
  19. 51单片机物联网开发
  20. 百年包豪斯 (Bauhaus) 对当今 UX 设计的启发与影响

热门文章

  1. Android集成佳博热敏打印机打印小票对齐问题
  2. signature=06a4313dd87c1b3dd1775e5b7855fa80,Hole capture by D‐center defects in 6H‐silicon carbide...
  3. 期货交易的C++简易demo
  4. 手机怎么拍照识别文字?分享一个简单的方法
  5. opencv 感兴趣区域提取 (ROI)
  6. 测试汇川PLC无线MODBUS通信
  7. TGN:Temporal Graph Networks for Deep Learning on Dynamic Graphs
  8. 抢占先机 为何说区块链通证经济象征未来?
  9. 为什么地球同步卫星星下点轨迹为八字形
  10. 途牛养车省养车平台源码 买卖新车租车二手车维修装潢共享O2O程序源码