4
<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% 直到我进入 web 检查器并手动更改任何元素的任何 css 规则,只要它不是样式属性那个元素。(所以我更改的规则必须源自内联 css 或 .css 文件 - 但哪个文件并不重要)

到底是怎么回事?为什么会这样?如果对 css 进行某种重新计算或刷新,我如何强制在窗口调整大小时发生这种情况?

4

3 回答 3

2

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

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

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

于 2011-07-28T14:12:24.923 回答
0

事实证明这很愚蠢:有一个父 div 我没有正确关闭。我仍然很好奇为什么在 web 检查器中更改一些 css 可以修复它。感谢大家!

于 2013-05-31T01:39:21.520 回答
0

我有一个类似的问题,float:left关闭然后立即重新打开会在div一条线上上下跳动,但就像这里一样,只在 Chrome 上,而不是在 Firefox 上。clear:left对我有用的解决方案在某处被额外删除。

于 2013-02-26T00:25:13.547 回答