我使用jQuery来允许用户动态地更改包含文本的DIV的填充。
我使用了一个范围滑块来更新容器DIV在更改时的填充:
$('#preview > div').css('padding', ui.value + '%' );在Firefox中,这可以很好地工作,但在Chrome中,并不是所有的元素都会更新以反映新的填充。最简单的解释方法是用图片来解释:


完成此操作后,如果文本的位置不正确,如果我更改了另一个样式属性(如更改标题字体),它会立即导致页面中的所有元素都被刷新并正确定位。
有没有命令可以强制jQuery重新计算DIV中每个元素的位置?
谢谢!
发布于 2012-01-19 09:06:56
尝试将选择器更改为
$('#preview div')发布于 2012-01-19 09:14:04
使用百分比进行填充可能会很棘手。试着给#预览一个硬编码的宽度(比如800px),看看会发生什么。“‘padding”是相对于所应用元素的父节点的“width”。
当第一个DIV的填充增加时,可能会增加包含元素的宽度,并且下一个DIV将具有不同的填充计算。它可能依赖于浏览器。
在这种情况下,我建议工作时不使用百分比。
https://stackoverflow.com/questions/8919767
复制相似问题