Javascript 样式底部和左侧通过JS计算不起作用

Javascript 样式底部和左侧通过JS计算不起作用,javascript,html,css,Javascript,Html,Css,我编写了一个更大的代码,但出于测试目的,我将其分解为测试代码。 也许这是个很小的错误,但我找不到 你知道我错过了什么吗 我想做什么:通过js设置顶部和底部间隙-它应该可以工作-我以前做过-我只需要在大程序中计算它-因此我使用%并使用css“calc”函数 测试代码如下所示: 测试 嘿 document.getElementById('hi').style.display=“block”; document.getElementById('hi').style.bottom=“calc(50%“

我编写了一个更大的代码,但出于测试目的,我将其分解为测试代码。 也许这是个很小的错误,但我找不到

你知道我错过了什么吗

我想做什么:通过js设置顶部和底部间隙-它应该可以工作-我以前做过-我只需要在大程序中计算它-因此我使用%并使用css“calc”函数

测试代码如下所示:


测试
嘿

document.getElementById('hi').style.display=“block”; document.getElementById('hi').style.bottom=“calc(50%“+”+“+”+“+”20%)”; document.getElementById('hi').style.left=“calc(50%“+”+“+”+“+”20%)”;
我用
marginLeft
替换了
left
,并将字符串和代码组合在一起,看起来效果不错


document.getElementById('hi').style.marginLeft=“calc(50%+20%)”

我不清楚您为什么不想使用css

使用js创建的规则只能使用
position:absolute
作为选项。添加这行js代码以设置绝对位置:

document.getElementById('hi').style.position = "absolute";

测试
嘿

document.getElementById('hi').style.display=“block”; document.getElementById('hi').style.bottom=“calc(50%“+”+“+”+“+”20%)”; document.getElementById('hi').style.left=“calc(50%“+”+“+”+“+”20%)”; document.getElementById('hi').style.position=“绝对”;