html - .css 不喜欢做 calc()?

标签 html css margin 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 设置为窗口宽度减去 Canvas 宽度(即 600px 部分),然后除以一半,使其均匀地位于屏幕中间。是不是公式格式错了?尝试编码是错误的吗?还是 .css 与 calc() 不同?

最佳答案

你必须将 Javascript 的 window.innerWidth 放在引号之外,让 JS 像其他人一样评估它。

或者你可以像这样使用 CSS vw 属性:

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

然后您不必重新评估窗口大小调整。

关于html - .css 不喜欢做 calc()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47140144/

相关文章:

HTML 类名作为 LESS 变量的链接

html - 带有水平子菜单的纯 html css 菜单。悬停在 IE 中无法正常工作

javascript - Android 应用程序 - html5 + cocoon js 不起作用?

javascript - CSS字体大小以保持相同的字宽

css - 即使里面有内容,div 也不会扩展

html - 在 IE7 中,我们如何检查元素并更改 css 属性

html - 如何处理表格中的 `rowspan` 和背景颜色?

WPF:堆栈面板中元素之间的间距

android - CardView 忽略 android :clipChildren ="false"

html - float 元素下的额外边距