刷新/重新计算css

时间:2011-07-28 13:52:52

标签: css webkit height refresh web-inspector

<div id="box1">
    <div id="box2" style="height:60%"></div>
</div>

更新 - 结果证明是愚蠢的:有一个我没有正确关闭的父div。我仍然很好奇为什么在Web检查器中更改某些css设法修复它。谢谢大家!


问题出现在webkit浏览器(Safari,Mobile Safari,Chrome,Android浏览器)中,但在Firefox中没有:

在窗口调整大小时,box1的高度用javascript更改,但box2不会扩展/收缩为box1的新高度的60%UNTIL我进入Web检查器并手动更改任何元素的任何css规则,只要它不是该元素的style属性。 (因此我更改的规则必须来自内联css或.css文件 - 但无论哪个文件都无关紧要)

发生了什么事?为什么会这样?如果对css进行某种重新计算或刷新,如何在窗口调整大小时强制执行此操作?

3 个答案:

答案 0 :(得分:2)

我认为这是一个浏览器错误。

elemnt_box2.stye=element_box2.style这样的东西会触发更新,但这将是一种解决方法。

请记住,Javascript中的DOM更新不会立即完全处理,而是在脚本执行完毕后完成。这是为了提高效率。这可能意味着在下一个入口点之前,脚本无法看到级联更改。

答案 1 :(得分:0)

我遇到了一个类似的问题,切换float:left关闭然后立即重新启动会使得div小幅上升或下降,但就像这里一样,只在Chrome上,而不是在Firefox中。对我有用的解决方案在某处删除了额外的clear:left

答案 2 :(得分:0)

事实证明是愚蠢的事:有一个我没有正确关闭的父div。我仍然很好奇为什么在Web检查器中更改某些css设法修复它。谢谢大家!