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

私も同様の問題を抱えていました。float:leftオフに切り替えてすぐにオンに戻すとdiv、ラインが少し上下しますが、ここのように、FirefoxではなくChromeでのみ発生します。clear:left私のために働いた解決策はどこかで余分に削除されました。

于 2013-02-26T00:25:13.547 に答える
0

それはばかげたものであることが判明しました。私が適切に閉じていなかった親divがありました。WebインスペクターでいくつかのCSSを変更することで、なぜそれを修正できたのか、私はまだ興味があります。みんな、ありがとう!

于 2013-05-31T01:39:21.520 に答える