【问题标题】:CSS calc - with nestCSS calc - 带嵌套
【发布时间】:2016-06-16 08:56:36
【问题描述】:

我想做一个简单的嵌套计算:从另一个数字中减去一个数字(两个像素值),然后将结果乘以 2。这对我不起作用:

.sample {
     width: calc(2 * (410-300)px);
}

结果将是一个像素宽度。

感谢任何帮助。谢谢。

【问题讨论】:

    标签: css calc


    【解决方案1】:

    calc 要求 +/- 运算符始终间隔开。另外,我需要在减去的整数上加上单位。

    .sample {
      width: calc(2 * (410px - 300px));
    }
    

    另一种选择(稍长但增加的单位更少),评论者巧妙地指出:

    .sample {
      width: calc(2 * (410 - 300) * 1px);
    }
    

    通过Mozilla Developer Network:

    + 和 - 运算符必须始终被空格包围。例如 calc(50% -8px) 的操作数将被解析为百分比后跟负长度,无效表达式,而 calc(50% - 8px) 的操作数是百分比后跟减号和长度.更进一步, calc(8px + -50%) 被视为一个长度,后跟一个加号和一个负百分比。 * 和 / 运算符不需要空格,但为了保持一致性允许并建议添加空格。

    .el {
      background: red;
      display: inline-block;
      width: calc(2 * (410px - 300px));  
      height: 50px;
    }
    <div class="el"></div>

    【讨论】:

    • 或者只是width: calc(2 * (410 - 300) * 1px);
    • @Oriol,这是一个不错的选择。我将把它添加到答案中。
    • 太棒了。非常感谢!
    • @jdscomms 可以接受我的回答吗?
    • width: calc((410 - 300) * 2px); 呢?
    猜你喜欢
    • 2020-01-02
    • 2020-06-19
    • 2016-12-04
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2011-06-01
    相关资源
    最近更新 更多