$(document).ready(function(){
   $("canvas").css({"border": "5px dotted white", "width": "600px", "height": "450px", "margin-left": "calc((window.innerWidth - 600px) / 2)"});
});


这主要是我遇到的格式化问题。我知道我做错了,但是我仍然无法弄清楚该怎么做。简而言之,我正在尝试为已经存在的画布设置左页边距,问题出在"margin-left": "calc((window.innerWidth - 600px) / 2)"部分。当此部分不在其中时,其他所有部分都可以正常工作,但是当该代码在那里时,它立即停止工作,对此我认为这是错误的。

如何格式化此格式,以便将左边距设置为窗口的宽度减去画布的宽度(即600px的部分),然后除以一半,使其均匀地位于屏幕中间。公式格式错误吗?尝试编码是否错误?还是.css只是不喜欢calc()?

最佳答案

您必须将Javascript的window.innerWidth放在引号之外,以使JS像其他人所说的那样对其进行评估。

或者,您可以使用CSS vw属性,如下所示:

"margin-left": "calc((100vw - 600px) / 2)"


然后,您不必重新评估窗口的大小。

08-07 11:06
查看更多