2017-09-02 33 views
2

这按预期工作:如果此位置使用calc()函数,如何使用Javascript设置元素的位置?

document.getElementById('blah').style.left = '200px'; 

然而,这种拒绝,原因不明,以我工作:

document.getElementById('blah').style.left = 'calc(225px-25px)'; 

在控制台中没有错误。该属性似乎没有设置。

为什么?以及如何使这项工作?

+0

为什么唐你把它设置为25px? https://stackoverflow.com/questions/40871127/can-i-use-css-calc-withing-javascript – z3nth10n

+0

我的意思是不使用'calc(225px-220px)'use:'20px'直接。这没有意义。计算更多的是百分比。 – z3nth10n

+0

@Ikillnukes当然,但这是一个简单的代码,尽可能简单,而不是实际的意义。除此之外,在我的特定用例中,我在变量中使用了这些值中的一个,因此使用'calc'可以为我节省一个'toString()'和一个'parseInt()'。 – gaazkam

回答

2

您的问题是使用calc+-运营商时,你必须始终whitespce包裹运营商双方:

calc(225px - 25px) 

这会为你工作:

document.getElementById('blah').style.left = 'calc(225px - 25px)'; 
相关问题