我对Web开发还很生疏,数学不是很好,遇到问题时很难继续前进。希望你们能帮助我。
简单来说:我正在使用Jquery制作一些(数量动态)div,使它们在我的页眉中重叠30%,填满整个容器的宽度。我的当前迭代次数多了一个,因此我的最后一个元素在其余元素下面。
我有X个元素填满了我的页眉容器的整个宽度。每个元素两侧重叠30%。用公式计算数学不是问题。但使用这些数字确保像素精度却更加困难。以下是我用来确定每个元素宽度的内容。
width of element = [container width] / ((.7 * ([# of elements] - 1)) + 1)
left margin of element = [width of element] * .3
我创建了名为extraWidth和extraMargin的变量,分别是宽度和边距%1。现在我使用的默认元素宽度是width-(width%1)。对于每个元素,我将extraWidth和extraMargin添加到运行总变量中。每当这些变量中的任何一个的总和超过0.5时,该特定元素的宽度或边距就会比默认值高1。
为了不再冗长,这里有一个JSFiddle,其中包含了查看我正在处理的所有必要内容。它大多数时间都可以正常运行,但在某些宽度上会多出1个像素。
p.s.
运行了JSFiddle,发现它与我的实际沙盒站点的工作方式不同,因此请在这里检查。我觉得我已经包含了所有必要的部分,但我不能确定。在我的Chrome浏览器上,当窗口大小为575px(以及许多其他宽度)时,它会出现问题。
编辑
应该注意的是,我正在对我的实际网站进行更改,而没有更新此帖子。不过,我暂时不会删除任何功能,只是创建新的函数/对现有函数进行轻微修改。
circleMargin
的调整有问题。四舍五入应该采用另一种方式,即向上取整。 - MKR