CSS calc()生成一个奇数结果

CSS calc()生成一个奇数结果,css,less,Css,Less,我在一个固定的头元素上有以下CSS样式 width: calc(100% - 17px); 我在SharePoint内部工作,按照SharePoint在侧边生成滚动条的方式,我的标题元素(100%宽度)显示在滚动条的顶部。为了说明这一点,我试图删除滚动条的17px 然而,当页面呈现时,宽度最终为83%,我不知道为什么。很遗憾,我不能给你一个有问题的页面的链接,因为它在我们的测试环境中。你知道为什么这会产生83%的结果吗 编辑:我还应该提到,我用更少的时间来写我的风格。我刚刚检查了编译后的CSS

我在一个固定的头元素上有以下CSS样式

width: calc(100% - 17px);
我在SharePoint内部工作,按照SharePoint在侧边生成滚动条的方式,我的标题元素(100%宽度)显示在滚动条的顶部。为了说明这一点,我试图删除滚动条的17px

然而,当页面呈现时,宽度最终为83%,我不知道为什么。很遗憾,我不能给你一个有问题的页面的链接,因为它在我们的测试环境中。你知道为什么这会产生83%的结果吗


编辑:我还应该提到,我用更少的时间来写我的风格。我刚刚检查了编译后的CSS文档,它正在生成宽度为83%的最终输出。

请阅读本文。它有一些变通办法。

您是这样使用它的
标题{宽度:calc(100%-17px);}
是100%==100px吗?如果不是,如果执行100%-30px,会发生什么?不是,100%宽度是视口/监视器的宽度。哦,结果是70%。如果我直接在FireBug中使用我的CSS样式,它工作得很好,似乎比编译到83%要少。如果你需要硬编码值来解释滚动条,你就做错了。举个最简单的例子,没有滚动条的页面怎么样?在我们的环境中,没有一个页面没有滚动条。当你使用SharePoint时,它是一个不同的野兽。这成功了,谢谢!我的代码应该是这样的:宽度:calc(~“100%-”17px);虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。如果答案正确,则应首先投票关闭该问题([less]已经有数十个相同的问题)。