Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使JavaScript输出字符串而不计算数字?_Javascript_Css - Fatal编程技术网

如何使JavaScript输出字符串而不计算数字?

如何使JavaScript输出字符串而不计算数字?,javascript,css,Javascript,Css,我将此字符串存储在变量中: const width = 'calc(16.666666666666668% - 3%)'; 如果我尝试将此值作为样式应用于元素,如下所示: document.body.style.width = width; 它输出: width: calc(13.6667%); 如何使其向元素添加正确的值 它应该输出: width: calc(16.666666666666668% - 3%); 正确值===calc(13.6667)?“这是一个CSS表达式,必须在DO

我将此字符串存储在变量中:

const width = 'calc(16.666666666666668% - 3%)';
如果我尝试将此值作为样式应用于元素,如下所示:

document.body.style.width = width;
它输出:

width: calc(13.6667%);
如何使其向元素添加正确的值

它应该输出:

width: calc(16.666666666666668% - 3%);

正确值===calc(13.6667)?“这是一个CSS表达式,必须在DOM呈现后由CSS进行计算”-因为这里两个值都是以百分比表示的,所以可以预先计算,而不改变任何有关最终结果的内容。现在,如果你有f.e.
calc(100%-10px)
,那么这将是一个不同的问题-并且非常确定你的浏览器将以不同的方式处理这种情况。你用两个不同的单位尝试过吗…?我的基于Chromium的浏览器显示了您对以%为单位的两个操作数所抱怨的行为,但一旦我更改了其中一个单位,这种影响就不再发生。现在,您的行为就好像用一张十美元的钞票或两张五美元的钞票支付一张十美元的支票会产生任何显著的差异。(并不是说这没有任何意义,但除非你能告诉我们在这种特殊情况下,这个问题对你有什么意义,否则整个问题毫无意义。)@CBroe事实上,我认为你是对的。出于某种原因,我感到困惑,认为
calc(16.6%-3%)
;将呈现一个不同的计算宽度到
calc(13.6%)
,但它没有,现在看起来很明显。