calc()是css3的一个新增的功能,用来指定元素的长度。

它是动态设置元素值,可由加减乘除算法得到最后计算值。

比如说“width:calc(50% + 5em)”

在使用less解析中calc运算会忽略单位出现:“width:calc(50% - 5em)” 解析为 “width:calc(45%)”的情况

修改方法:width:calc(~"50% - 5em")

运算规则

使用“+”、“-”、“*” 和 “/”四则运算;

可以使用百分比、px、em、rem等单位;

可以混合使用各种单位进行计算;

表达式中有“+”和“-”时,其前后必须要有空格,如"widht: calc(50%+5em)"这种没有空格的写法是错误的;

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

运算百分比

除了基本的px,%,em等,还有:

vw:视窗宽度的百分比(1vw 代表视窗的宽度为 1%)

vh:视窗高度的百分比

vmin:当前 vw 和 vh 中较小的一个值

vmax:当前 vw 和 vh 中较大的一个值

兼容性:

桌面 PC
Chrome:自 26 版起就完美支持
Firefox:自 19 版起就完美支持
Safari:自 6.1 版起就完美支持
Opera:自 15 版起就完美支持
IE:自 IE10 起(包括 Edge)到现在还只是部分支持(不支持 vmax,同时 vm 代替 vmin)

移动设备
Android:自 4.4 版起就完美支持
iOS:自 iOS8 版起就完美支持

附加:(flex垂直居中)

垂直居中三部曲:放父元素
display: flex;
justify-content: center;
align-items: center;

calc()使用用法的更多相关文章

  1. css3 calc()的用法

    转载自:css3 calc()的用法 说明:calc(四则运算):任何长度值都可以使用calc()函数进行计算:和平时的加减乘除优先顺序一样一样的: 特别注意:calc()里面的运算符必须前后都留一个 ...

  2. CSS 中 calc() 函数用法

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

  3. 【转】CSS3的calc()使用——精缩版

    问题:在制作页面的时候,总会碰到有的元素是100%的宽度.如果元素宽度是100%时,只要在元素中添加了border,padding,margin任何一值,都将会把元素盒子撑破(标准模式下,除IE怪异模 ...

  4. css3计算属性(calc)

    如果有固定头部高度和底部高度,内容的高度或者宽度想要根据浏览器屏幕自适应的话,可以用到css3的计算属性,即calc. 用法如下: 内容区域高/宽 = calc(100% - 头部高宽 - 底部高宽) ...

  5. css3中样式计算属性calc()的使用和总结

    calc的介绍 在css3样式中有一个类似与函数的计算属性calc(),它主要用于指定元素的长度,无论是border.margin.pading.font-size和width等属性都可以使用calc ...

  6. H5移动端知识点总结

    H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解display:box的布局 理解flex布局 Flex布局兼容知识点总结 回到顶部 移动开 ...

  7. width:100vh有感而发

    在看一个网页的代码是看到 width:100vh  纳尼...这这我怎么没有见过,这是个什么属性,随之有看到 min-height:calc(100vh + 51px);这尼玛又是怎么用的.... 感 ...

  8. h5知识总结

    移动开发基本知识点一. 使用rem作为单位 html { font-size: 100px; } @media(min-width: 320px) { html { font-size: 100px; ...

  9. CSS中@support的用法 及其calc、media用法

    背景: 一次偶然的机会遇到一个朋友在刷css的库其中有这样一道题(css变量如何定义,calc, support, media),我看一眼熟悉而陌生,知其一而不知其二,叔可忍婶不可忍,马上就度娘起来, ...

随机推荐

  1. echarts立体效果地图-自定义区域及文字

    setgeomap: function (_id, _fn) { // 全城拥堵占比 GLOBAL.myMapChart = echarts.init(document.getElementById( ...

  2. java的AES对称加密和解密,有偏移量

    import java.math.BigDecimal; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; i ...

  3. 学习笔记DL005:线性相关、生成子空间,范数,特殊类型矩阵、向量

    线性相关.生成子空间. 逆矩阵A⁽-1⁾存在,Ax=b 每个向量b恰好存在一个解.方程组,向量b某些值,可能不存在解,或者存在无限多个解.x.y是方程组的解,z=αx+(1-α),α取任意实数. A列 ...

  4. Android与Linux内核的对应关系

    1. Android各版本和Linux版本对应关系 Android Version |API Level |Linux Kernel in AOSP ------------------------- ...

  5. sql 用过记住

    1 递归查询一个节点下的所有子节点 包括该节点 connect by h.parent_menu_id= prior h.menu_idstart with h.menu_id='当前节点' h.pa ...

  6. 如何下载github子目录文件

    比如下载pai子目录下dockerfile文件,可以在浏览器键入 https://raw.githubusercontent.com/Microsoft/pai/master/src/dev-box/ ...

  7. python selenium 处理时间日期控件(十六)

    测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日 ...

  8. 承接小程序外包 微信小程序外包 H5外包 就找北京动点软件

    承接小程序外包 微信小程序外包 H5外包 就找北京动点软件 长年承接微信小程序.微信公众号开发 全职的H5开发团队,开发过几十款微信小程序公众号案例 欢迎来电咨询 QQ:372900288 微信:li ...

  9. stm32之CMSIS标准、库目录、GPIO

    一.CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU.该内核是ARM公司设计的一种处理器体系架构.内核与外设的关系就像PC上的CPU与硬盘.主板.内存等的 ...

  10. 【C++】const & 指针

    https://blog.csdn.net/qq_21808961/article/details/78401950