【问题标题】:CSS how to round of percent values to whole number pixelCSS如何将百分比值四舍五入为整数像素
【发布时间】:2014-03-05 16:27:03
【问题描述】:

在 CSS 中,当宽度、高度、边距等使用百分比时,结果有时会返回小数像素长度,例如100.25 像素。我想知道如何将其四舍五入到下一个整数。这似乎是一个相当普遍的问题;我已经搜索了很多,但还没有找到解决方案。

例如,在下面的代码中,Chrome 将 50.6px 舍入到 50px,这不是数学标准。

background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9e7d0), color-stop(72%,#f9e7d0), color-stop(72%,#207cca), color-stop(72%,#b08b5b), color-stop(100%,#b08b5b));

在 JavaScript 中,这可以使用 ceil 函数实现,但可以在纯 CSS 中完成吗?

【问题讨论】:

  • “在css中做”是什么意思?您可以尝试使用一些像 sass 或更少的 css 框架。
  • 我希望百分比的结果应该舍入到下一个整数值。比如 100.25px 到 101px
  • 是的,但为什么在 css 中...?
  • 就像@Krab 说的,你可以用less 或sass 做类似的事情。但我不认为这是你想要的。这是一个例子stackoverflow.com/questions/17495302/…
  • @OP:我想你有一个相当隐蔽的 the XY-problem 案例。

标签: html css


【解决方案1】:

浏览器自动舍入小数像素 - 一些向上,一些向下;这是硬编码到浏览器中的,所以没有办法强迫它用 CSS 做一个或另一个。

可以在here 找到更深入地了解不同浏览器如何处理小数像素。

【讨论】:

  • AFAIK 不太正确(不再)。 Chrome(一般来说可能是 WebKit/Blink)似乎在很长一段时间内都可以使用亚像素。
  • 是的。这个答案现在已经过时了,但当时是正确的。
猜你喜欢
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多