【Less】四则运算

Less四则运算特点

  1. 对于两个不同单位值之间的运算,不要求你进行运算操作的几个值必须带单位,只要其中有一个有单位就可以了,运算结果的值会优先取第一个值的单位为准。如:

    • 20+30px-10em编译成40px
    • @border:10em;
      border:(@border+2px) solid orange; 编译成border: 12em solid orange;
  2. 如果两个值之间只有一个值有单位,则运算结果就取该单位。

    • @padding:20+20px;
      padding:@padding; 编译成padding: 40px;
  3. 可以使用()小括号来添加一些更复杂的运算操作。

  4. 在对颜色进行运算时,会忽略颜色值前面的#号。

    • @background:#804020;
      background:@background + #080402;编译成 background: #884422;
  5. 算术运算符在加、减或比较之前会进行单位换算。

  6. 乘法和除法不作单位的转换。因为这两种运算在大多数情况下都没有意义,一个长度乘以一个长度就得到一个区域,而CSS是不支持指定区域的。其中除法运算语法在有些环境中并不能被正确的计算,如下锁示:

    • @padding:20+20px;
      padding:@padding / 2; 编译成padding: 40px / 2;

如果单位换算无效或失去意义,则忽略单位。颜色值的加减建议使用颜色函数,颜色函数提供更复杂的功能。

四则运算示例

less代码

@width:100px;
@height:100px;
@border:10em;
@margin:20px;
@padding:20+20px;
@background:#804020;
@font-size:20+30px-10em;

.box {
    width:@width + 100px; 
    height:@height + 100; 
    border:(@border+2px) solid orange; 
    margin:@margin *2px; 
    padding:@padding / 2; 
    background:@background + #080402; 
    font-size:@font-size;
}

less生成的css

.box {
  width: 200px;
  height: 200px;
  border: 12em solid orange;
  margin: 40px;
  padding: 40px / 2;
  background: #884422;
  font-size: 40px;
}

其中,除法经过less编译后并未得到我们想要结果,而是原样输出了。怎么才能让除法生效呢?


除法的处理

下面有两种方案
注意: 以下两种方案不一定所有的less编译器都支持,请尝试使用其中的一种

1.将除号和参与运算的变量或数字用小括号()包起来

padding:(@pd / 2);

Win10系统中,Visual Studio Code v1.79.2使用Easy LESS v2.0.0 插件验证,此方案可以在此环境可行
在这里插入图片描述

2.将除号/书写改为./

padding:@pd ./ 2;

这时上述示例的40px / 2编译后得到结果20px

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值