根据您的 jsFiddle ( http://jsfiddle.net/qGJhe/ ),我为容器添加了背景颜色,以检查您遇到的额外间隙,但它没有显示额外间隙。
此外,它不尊重您的 960px 宽度,因为布局是响应式的。所以在我看来,您没有复制与实际页面上完全相同的代码(html、css、jQuery)。
无论如何,我禁用了响应代码位以使其符合固定的 960px 宽度,并看到了 10px 的额外间隙。http://jsfiddle.net/shodaburp/qGJhe/3/
这让我意识到您对排水沟大小和元素宽度的计算相当不准确。
240px 的元素宽度根本不会为您提供装订线空间。 http://jsfiddle.net/shodaburp/qGJhe/4/
gutterSize = (containerWidth - (elementWidth * numberOfElement) / numberOfGutters)
gutterSize = (960 - (240 * 4) ) / 3) = 0
totalWidth = (elementWidth * numberOfElement) + (gutterSize * numberOfGutters)
totalWidth = (240 * 4) + (3 * 0) = 960
extraGap = containerWidth - totalWidth
extraGap = 960 - 960 = 0
230px 的元素宽度加上 13 的装订线大小将为您提供 1px 的额外间隙 http://jsfiddle.net/shodaburp/qGJhe/5/
gutterSize = (containerWidth - (elementWidth * numberOfElement) / numberOfGutters)
gutterSize = (960 - (230 * 4) ) / 3) = 13.33 = 13 (rounded)
totalWidth = (elementWidth * numberOfElement) + (gutterSize * numberOfGutters)
totalWidth = (230 * 4) + (3 * 13) = 959
extraGap = containerWidth - totalWidth
extraGap = 960 - 959 = 1
如果你想让一行中的 4 个元素很好地适应 960 像素,那么你需要将元素的宽度减小到 225 像素,并且间距大小为 20 像素。
225px 的元素宽度加上 20 的间距大小将是完美的! http://jsfiddle.net/shodaburp/qGJhe/6/
gutterSize = (containerWidth - (elementWidth * numberOfElement) / numberOfGutters)
gutterSize = (960 - (225 * 4) ) / 3) = 20
totalWidth = (elementWidth * numberOfElement) + (gutterSize * numberOfGutters)
totalWidth = (225 * 4) + (3 * 20) = 960
extraGap = containerWidth - totalWidth
extraGap = 960 - 960 = 0