【发布时间】:2011-06-29 22:05:22
【问题描述】:
假设我有一个宽度为 500 像素的父 div。它有 13 个子元素,应该填满它的宽度。
如果我给每个子元素一个 500 / 13 = 38.46... 像素的宽度,浏览器将限制像素值,所以我最终得到 13 个元素,总共占用 38 * 13 = 494 像素。父 div 右侧会有 6 个像素未填充。
有没有一种简单的方法来抖动子元素的宽度,使剩余部分(6 像素)分布在一些子元素中,从而使总宽度达到 500 像素?
如果我必须手动进行计算并且无法让浏览器管理它,那么在这种情况下我可以使用什么ditheringalgorithm?
编辑: 澄清一下——我正在使用 JavaScript 在客户端进行这些计算。此外,父 div 的大小和子 div 的数量在运行时会有所不同;上面的数字只是一个例子。
【问题讨论】:
-
"the browser will floor the pixel values"- 事实并非如此。 Different browsers behave differently. -
如果您自己进行计算,我认为您仅限于 JavaScript(用于客户端修改); 使用 JavaScript 的解决方案是否可以接受(如果可以,请标记“javascript”)?或者您更喜欢服务器端解决方案(如果是,请使用您选择的服务器端语言进行标记)?
-
呵呵,即使有百分比,仍然有剩余空间:jsfiddle.net/apt2S
-
感谢您的澄清,三十点。我最近一直在使用基于 WebKit 的浏览器,所以这就是我对地板的观察的来源。
标签: javascript html css rounding dithering