首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome中Jquery CSS的问题

问Chrome中Jquery CSS的问题
EN

Stack Overflow用户
提问于 2012-01-19 08:59:41
回答 2查看 536关注 0票数 1

我使用jQuery来允许用户动态地更改包含文本的DIV的填充。

我使用了一个范围滑块来更新容器DIV在更改时的填充:

代码语言:javascript
复制
$('#preview > div').css('padding', ui.value + '%' );

在Firefox中,这可以很好地工作,但在Chrome中,并不是所有的元素都会更新以反映新的填充。最简单的解释方法是用图片来解释:

​

  1. 在图1中,填充为5%,标题和段落文本在DIV中居中,这是理所当然的。

​

  1. 在图2中,我在文本周围均匀地增加了填充,这应该会导致标题和段落压缩成更窄的列,但仍然在页面上居中。正如您所看到的,当我更改填充时,只有第一段被正确地更新。

完成此操作后,如果文本的位置不正确,如果我更改了另一个样式属性(如更改标题字体),它会立即导致页面中的所有元素都被刷新并正确定位。

有没有命令可以强制jQuery重新计算DIV中每个元素的位置?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-01-19 09:06:56

尝试将选择器更改为

代码语言:javascript
复制
$('#preview div')
票数 0
EN

Stack Overflow用户

发布于 2012-01-19 09:14:04

使用百分比进行填充可能会很棘手。试着给#预览一个硬编码的宽度(比如800px),看看会发生什么。“‘padding”是相对于所应用元素的父节点的“width”。

当第一个DIV的填充增加时,可能会增加包含元素的宽度,并且下一个DIV将具有不同的填充计算。它可能依赖于浏览器。

在这种情况下,我建议工作时不使用百分比。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8919767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档