【问题标题】:CSS calc() producing an odd result [duplicate]CSS calc() 产生一个奇怪的结果[重复]
【发布时间】:2015-09-26 06:44:30
【问题描述】:

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

width: calc(100% - 17px);

我在 SharePoint 内部工作,并且通过 SharePoint 在侧面生成滚动条的方式,我的标题元素(100% 宽度)出现在滚动条的顶部。为了解决这个问题,我试图删除滚动条的 17px。

但是,当页面呈现时,宽度最终为 83%,我不知道为什么。很遗憾,我无法为您提供相关页面的链接,因为它位于我们的测试环境中。任何想法为什么这会产生 83% 的结果?

编辑:我还应该提到我正在使用 LESS 来编写我的样式。我刚刚检查了编译后的 CSS 文档,它产生了宽度的最终输出:83%。

【问题讨论】:

  • 你这样用header{width:calc(100% - 17px);}??
  • 100% == 100px 有没有机会?如果没有,如果你做 100% - 30px 会发生什么?
  • 不是,100% 的宽度是视口/显示器的宽度。哦,这产生了 70% 的结果。如果我直接在 FireBug 中做我的 CSS 样式,它可以正常工作,似乎更少,将它编译到 83%。
  • 如果你需要硬编码值来解释滚动条,你做错了。最简单的例子,没有滚动的页面怎么办?
  • 我们的环境中没有一个页面没有滚动条。当您使用 SharePoint 时,它是一个不同的野兽。

标签: css less


【解决方案1】:

请阅读这篇文章。它有一些解决方法。 https://github.com/less/less.js/issues/974

【讨论】:

  • 成功了,谢谢!我的代码需要是这样的: width: calc(~"100% - "17px);
  • 虽然理论上可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效
  • 虽然答案是正确的,但问题应该首先被投票结束([less] 已经有 数十 个相同的问题)。
猜你喜欢
  • 2023-03-25
  • 2013-03-15
  • 2015-07-08
  • 2018-03-08
  • 2023-01-22
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多