zoukankan      html  css  js  c++  java
  • calc() 计算CSS属性值

    calc()是css3的一个新增的功能,用来指定元素的长度。比如说,你可以使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度。

    calc()语法:

    加 (+)、减(-)、乘(*)、除(/),注意的是:乘数中至少要有一个是 <number> 类型的、被除数(/右面的数)必须是 <number> 类型的

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

    1. 使用“+”、“-”、“*” 和 “/”四则运算;
    2. 可以使用百分比、px、em、rem等单位;
    3. 可以混合使用各种单位进行计算;
    4. 表达式中有“+”和“-”时,其前后必须要有空格,如”widht: calc(100% + 5px)”;
    5. 表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。

    calc()在less文件中的坑:

    在Less里加入calc时确发现了有点问题,我在Less中这么写:

    div {width : calc(100% - 250px);} 

    结果Less把这个当成运算式去执行了,结果给我解析成这样:

    div{ calc(-150%);}

    顿时懵逼,后来各种查度娘,才知道是由于less的计算方式跟calc方法有重叠,两者在一起有冲突,于是,在Less中把calc的写法改写成下面这样:

    div { calc(~"100% - 250px");}

    顺利通过编译

    而当250px是一个变量的时候,要这样写:

    div {
      @diff : 250px;
      width : calc(~"100% - @{diff}");
      }

  • 相关阅读:
    rabbitmq系统学习(三)集群架构
    rabbitmq系统学习(二)
    rabbitmq系统学习(一)
    itext实现pdf自动定位合同签订
    itext7知识点研究(PDF编辑)
    itext实现合同尾部签章部分自动添加,定位签名
    ELK实战(Springboot日志输出查找)
    [Wireshark]_002_玩转数据包
    [Wireshark]_001_入门
    [Objective-C] 014_Objective-C 代码规范指南
  • 原文地址:https://www.cnblogs.com/fanshaokun/p/7872047.html
Copyright © 2011-2022 走看看