calc( )计算css属性值

本文详细介绍了CSS3的calc()函数,用于动态计算元素的长度,支持加、减、乘、除运算及混合单位。calc()在流体布局中尤其有用。同时,文章指出了在Less预处理器中使用calc()可能遇到的问题,由于Less的计算方式与calc()冲突,导致解析错误。解决方案是在calc()表达式前加上波浪线(~)以避免Less的内联解析,对于包含变量的情况,需使用变量展开的方式正确书写calc()表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

calc()语法:

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

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

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

calc()在less中的解析问题:

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

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

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

div{width: calc(-150%);}

是由于less的计算方式跟calc方法有重叠,两者在一起有冲突,于是,在Less中把calc的写法改写成下面这样:

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

顺利通过编译

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值