.css 不喜欢做 calc()?
.css doesn't enjoy doing calc()?
$(document).ready(function(){
$("canvas").css({"border": "5px dotted white", "width": "600px", "height": "450px", "margin-left": "calc((window.innerWidth - 600px) / 2)"});
});
这主要是我遇到的格式问题。我知道我做错了,但我一直无法弄清楚该怎么做。简而言之,我正在尝试为已经存在的 canvas 设置一个 margin-left,问题是 "margin-left": "calc((window.innerWidth - 600px) / 2)"
部分。当这部分不在其中时,其他所有部分都工作得很好,但当这段代码出现时它会立即停止工作,我认为这是错误的。
我如何格式化它以便将 margin-left 设置为 window 的宽度减去 canvas 的宽度(即 600px 部分),然后除以一半它均匀地适合屏幕中间。是不是公式格式错了?尝试编码是错误的吗?还是 .css 不像 calc()?
CSS calc
属性 不是 JavaScript。它无权访问 DOM。您不能将它与 window.innerWidth
.
一起使用
计算值可以是以下任何一个:
<calc-value> = <number> | <dimension> | <percentage> | ( <calc-sum> )
另见 MDN。
因为你是用JS设置属性,你可以用JavaScript计算边,并根据它生成属性值。请注意,您可能希望绑定一个调整大小事件,以便在 window.innerWidth
更改时更新它。
你必须将 Javascript 的 window.innerWidth
放在引号外,让 JS 像其他人那样评估它。
或者您可以像这样使用 CSS vw 属性:
"margin-left": "calc((100vw - 600px) / 2)"
那么您不必在 window 调整大小时重新评估。
$(document).ready(function(){
$("canvas").css({"border": "5px dotted white", "width": "600px", "height": "450px", "margin-left": "calc((window.innerWidth - 600px) / 2)"});
});
这主要是我遇到的格式问题。我知道我做错了,但我一直无法弄清楚该怎么做。简而言之,我正在尝试为已经存在的 canvas 设置一个 margin-left,问题是 "margin-left": "calc((window.innerWidth - 600px) / 2)"
部分。当这部分不在其中时,其他所有部分都工作得很好,但当这段代码出现时它会立即停止工作,我认为这是错误的。
我如何格式化它以便将 margin-left 设置为 window 的宽度减去 canvas 的宽度(即 600px 部分),然后除以一半它均匀地适合屏幕中间。是不是公式格式错了?尝试编码是错误的吗?还是 .css 不像 calc()?
CSS calc
属性 不是 JavaScript。它无权访问 DOM。您不能将它与 window.innerWidth
.
计算值可以是以下任何一个:
<calc-value> = <number> | <dimension> | <percentage> | ( <calc-sum> )
另见 MDN。
因为你是用JS设置属性,你可以用JavaScript计算边,并根据它生成属性值。请注意,您可能希望绑定一个调整大小事件,以便在 window.innerWidth
更改时更新它。
你必须将 Javascript 的 window.innerWidth
放在引号外,让 JS 像其他人那样评估它。
或者您可以像这样使用 CSS vw 属性:
"margin-left": "calc((100vw - 600px) / 2)"
那么您不必在 window 调整大小时重新评估。