代表CSS中100%的1/3的最佳方法?


72

我有一个大的<div><div>里面有三个little 。它们每个都有33%的宽度,但这会引起一些对齐问题,因为3 * 33%!= 100%。像这样在CSS中代表完美三分之一的最佳方法是什么?也许只有33.33%?


4
只需在其上放置足够的小数位,直到不太可能有人拥有足够大的桌面来使sig.figs与计算相关。
Marc

3
您无法指定分数,因此33.33%几乎是您唯一的选择。
meagar

4
有用的信息:亚像素渲染问题CSS
苦工

Answers:


105

现在,现代浏览器calc广泛支持该功能,您可以使用:

#myDiv {
    width: calc(100% / 3);
}

或者,如果您的浏览器不支持,则可以将其用作备用:

#myDivWithFallback {
    width: 33.33%;
    width: calc(100% / 3);
}

19
不要忘记后备:.column-one-third { width: 33.33%; width: calc(100%/3); }。这样,您可以支持非calc浏览器。
smets.kevin 2014年

1
我发现通常需要6个小数位才能正确计算div的精确1/3。width: 33.333333%;
Garconis '16



4

最高分辨率的屏幕是分辨率为2800x2100的非生产NEC LCD屏幕。即使是这种大小,一个像素也只是屏幕宽度的0.0357%。所以33.33%应该足够接近,直到5,000像素宽的屏幕成为标准。

不过,John Resig对不同浏览器中的亚像素舍入进行了一些研究,因此,取决于您的三列以完全等于屏幕的宽度,可能永远找不到完美的解决方案。


2
对于当前的非生产监视器,“高”听起来有点低。作为当前的技术上限,这看起来更加合理。 zh.wikipedia.org/wiki/Ultra_High_Definition_Television
Marcel

1
这个答案不是很
可靠的
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.