么是calc()?

学习calc()之前,我们有必要先知道calc()是什么?只有知道了他是个什么东东?在实际运用中更好的使用他。

calc()从字面我们可以把他理解为一个函数function。其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。比如说,你可以使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。为何说是动态值呢?因为我们使用的表达式来得到的值。不过calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度。

calc()能做什么?

calc()能让你给元素的做计算,你可以给一个div元素,使用百分比、em、px和rem单位值计算出其宽度或者高度,比如说“width:calc(50% + 2em)”,这样一来你就不用考虑元素DIV的宽度值到底是多少,而把这个烦人的任务交由浏览器去计算。

calc()语法

calc()语法非常简单,就像我们小时候学加 (+)、减(-)、乘(*)、除(/)一样,使用数学表达式来表示:

.elm {width: calc(expression); } 

其中"expression"是一个表达式,用来计算长度的表达式。

calc()的运算规则

calc()使用通用的数学运算规则,但是也提供更智能的功能:

  1. 使用“+”、“-”、“*” 和 “/”四则运算;
  2. 可以使用百分比、px、em、rem等单位;
  3. 可以混合使用各种单位进行计算;
  4. 表达式中有“+”和“-”时,其前后必须要有空格,如"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();}

转载于:https://www.cnblogs.com/dunken/p/4363899.html

关于css3的calc()相关推荐

  1. CSS的单位及css3的calc()及line-height百分比

    说在前面的话 阳历2014年已经离我们远去,2015年接踵而来.祝大家新年快乐!在新的一年,我将有新的蜕变!这是2015年的第一篇文章,写一篇关于css的单位的文章吧! 单位介绍 说到css的单位,大 ...

  2. CSS3运算 calc()函数是怎么实现计算

    CSS3运算 calc()函数是怎么实现计算 CSS3 的 calc() 函数允许我们在属性值中执行数学计算操作.例如,我们可以使用 calc() 指定一个元素宽的固定像素值为多个数值的和. .foo ...

  3. css3 的 calc()函数在布局中的使用----头部高度固定,页面正好占满一屏

    最近项目遇到一个布局需求,头部高度固定,页面需要刚好占满一屏幕. 如下示意图: 方法:使用calc .wrap{position: relative;margin-left: 24px;margin- ...

  4. CSS3表达式calc( )

    CSS3表达式calc( ) 第一次看到calc( )时,不太相信calc()是css中的部分.因为看其外表像个函数,但是CSS里为啥会有表达式我也不太清楚,偶然机会在网页里看到的,自己切片写自适应时 ...

  5. html 自适应单位vw,CSS单位em、rem、vh和vw等及CSS3的calc()以及line-height百分比

    css单位我们常用的是px,也即是像素.随着网页开发自适应的要求,css3新增了许多单位,rem.vw和vh.vmin和vmax.ch和ex等. em 做前端的应该对em不陌生,不是什么罕见的单位,是 ...

  6. 在less中不能正常使用css3的calc属性的解决方法

    在less中不能正常使用css3的calc属性的解决方法 参考文章: (1)在less中不能正常使用css3的calc属性的解决方法 (2)https://www.cnblogs.com/zhaozh ...

  7. CSS3属性calc函数(CSS3)

    CSS3属性calc函数(CSS3) <!DOCTYPE html> <html lang="en"><head><meta charse ...

  8. CSS3使用calc() 计算高度和宽度 vh px

    Viewport viewport:可视窗口,也就是浏览器. vw Viewport宽度, 1vw 等于viewport宽度的1% vh Viewport高度, 1vh 等于viewport高的的1% ...

  9. CSS3 使用 calc() 计算高度 vh px

    1.px 像素,我们在网页布局中一般都是用px. 2.百分比 百分比一般宽泛的讲是相对于父元素,自适应网页布局越来越多,百分比也经常用到了. 3.Viewport     viewport:可视窗口, ...

  10. 【uniapp】CSS3 的 calc() 函数使用表达式动态计算

    前言 css3 中增加了 calc() 函数 calc() 函数语法:property: calc(expression) expression 表达式为: "+". " ...

最新文章

  1. 有没有适合部署在局域网的团队协作平台?
  2. 数据量大和高并发解决方法
  3. ORA-01791: 不是 SELECTed 表达式
  4. java skip_Java CharArrayReader skip()方法
  5. shellcode xor编码/解码[1]
  6. java socket 异步回调函数_浅谈socket同步和异步、阻塞和非阻塞、I/O模型
  7. 【直观理解】粒子滤波 原理及实现
  8. python报错:Exception Value:can only concatenate str (not bytes) to str
  9. Linux环境安装PostgreSQL-12.2
  10. 电脑出现“由于该设备有问题,Windows 已将其停止(代码 43)”的提示,该怎么解决?
  11. 使用WIFIPR跑握手包,破解wifi密码
  12. 更改jenkins插件地址为国内源地址
  13. 建立基于安全域的涉密信息系统
  14. javascript开发HTML5游戏--斗地主(单机模式part2)
  15. matlab 在二次函数图像,二次函数图像(二次函数图像图片)
  16. python(for in 用法)
  17. UVA 1471 Defense Lines 防线
  18. 解决FTP文件访问需要输入用户名和密码的问题
  19. leetcode_263:丑数(丑数II)
  20. 永远的圣斗士—曾经的光辉岁月

热门文章

  1. 操作系统—死锁的检测和解除
  2. 2. 线性表的顺序结构
  3. matlab eps是什么
  4. opencv中很有趣的仿射变换(Affine Transformation)
  5. sort函数的使用(c++) bool函数使用
  6. OPNET网络仿真分析-1.4、OPNET文件存储内容
  7. c#图像处理、图片拼接、图片裁剪、图片缩放、图上添加形状、屏幕截图、图片反色、改变图片色彩度全解
  8. 关于8086七种寻址方式的练习
  9. 怎么修改兼容模式html,HTML5中怎么调兼容性?
  10. A1136 | 字符串处理、大整数运算