CSS calc() - 使用单位值进行乘法和除法

时间:2015-04-08 03:12:38

标签: css css3 css-calc

是否可以使用calc()乘以或除以基于单位的值(如100%,5px等)。

例如我希望做这样的事情:

width: calc(100% * (.7 - 120px / 100%));

希望它解决类似的问题(假设100%= 500px):

width: calc(500px * (.7 - 120px / 500px));
width: calc(500px * (.7 - .24));
width: calc(500px * .46);
width: calc(230px);

然而,在经过一些实验之后,看起来我不能将基于单位的价值作为分裂的分母。

我似乎也不能像5px * 10px5px * 100%一样多个两个值。

我知道在100%的情况下允许这样做是没有意义的,但在我的用例中,我想知道120px的总宽度百分比是多少,然后我输入我剩下的计算。

要么就是这样,或者如果有人能想出一种不同的写作方式,那也行得通。我已经绞尽脑汁,无法想出任何东西。

2 个答案:

答案 0 :(得分:40)

在CSS calc()除法中 - 右侧必须是<number>因此基于单位的值不能像这样在除法中使用。

另请注意,在乘法中,至少有一个参数必须是数字。

MDN有很好的文档资料。

如果您想要更好的计算方法,可以使用预处理器(我喜欢Sass)。该链接将带您到他们的指南(在该页面上有关于运营商的部分)。

答案 1 :(得分:1)

对于像我这样犯错误的人,请不要忘记您不能直接在css R --version函数中使用 sass变量,因为您必须使用sass计算方法

calc

或者如果仍然需要执行calc

$test: 10px;

.testing{
    width: #{$test * 2};
}