2

別の div の高さに 70px を加えたサイズ (マージン (上下) のサイズ) を基準にして div のサイズを変更するスクリプトを作成し、それを window.onload 関数にロードしました。

        <script language="JavaScript">
        function tamanho_wrapper2(){
            var mydiv = document.getElementById("topicos");
            var current_height = parseInt(mydiv.offsetHeight);
            var wrapper2 = document.getElementById("wrapper2");
            wrapper2.style.height = current_height+70+"px";

        }
    </script>

それはfirefoxで動作しています。divはまさに私が望んでいた方法です。しかし、クロムでは、最初のページの読み込みで、高さを取得しているdivの高さに上下のマージンのサイズが含まれているため、divが必要以上に大きくなります。奇妙なのは、ページがリロードされると、chrome は div の自己の高さだけを Firefox としてカウントすることです。それはすでにあなたに起こっていますか?

編集:まあ、私が最終的に得た結論は、その古い事実です:ブラウザのエンジンは異なって動作し、私に起こっていることは証明です. ご清聴ありがとうございました。

Edit2:魔法のように、ブラウザーの奇妙な動作は発生しなくなりました。

4

2 に答える 2

3

スタイルシートをリセットしてみてください (上記のリンク)。すべてのブラウザには、要素ごとに独自のデフォルト スタイルがあります。Chrome がそのデフォルト スタイルを div に追加している可能性があります。他のブラウザでも、異なる方法で表示される可能性があります。

http://meyerweb.com/eric/tools/css/reset/

PS: 申し訳ありませんが、私の英語は時々下手です:P

于 2012-12-21T17:03:53.450 に答える
0

あなたの JavaScript が Chrome で機能しない理由がわかりません。jqueryを使ってみましたか?このi chromeをテストしたところ、悪影響はありませんでした。私はそれが役立つことを願っています:)

<div id="div1" style="background-color:#ff0000; height:50px; width:10px; float:left;"></div>

<div id="div2" style="background-color:#00ff00; height:150px; width:10px; float:left;"></div>

<input type="button" value="resize" onclick="resizeDiv();" />

次に、このjqueryコード:

function resizeDiv(){
$('#div1').css('height', $('#div2').css('height'));
}
于 2012-12-21T13:47:35.347 に答える