3

ページ上の Dom 要素が選択されている場合のように見えるようにするために、絶対配置を使用して配置された 4 つの Divがあります。 .

  • 左の境界線は "4px solid red" に設定され幅は 0p x で、高さは選択した Dom 要素の高さと同じです。

  • 一番上のものには、「4px solid red」に設定されたボーダー上部があり、高さは 0px、幅は選択された Dom 要素の幅と同じです。

など、これがどこに向かっているのかがわかります。

私はこれが奇妙であることを知っていますが、非常に便利です。例についてはツチブタを参照してください。

FF、opera、safari、chrome での表示は次のとおりです。

代替テキスト http://img243.imageshack.us/img243/429/captureyv.png

そして、これがie 8でどのように見えるかです:

代替テキスト http://img190.imageshack.us/img190/7196/capture1dv.png

直ぐにボックスモデルの問題を思いついたのですが、もっと狭くしようじゃないですか。とにかく、jqueryを使用して幅と高さを取得しました。これにより、この種の問題を防ぐことができます。最もよく知られているバグに遭遇しましたが、一致するものは見つかりませんでした。

どう思いますか ?

ps : これはブックマークレットです。もちろん、ローカル ファイルの doctype を変更しようとしましたが、うまくいきましたが、本番環境ではできません。

ie dev ツールバーを使用して、絶対として配置された要素の周囲に境界線を描画します。

代替テキスト http://img21.imageshack.us/img21/3425/capture2uc.png

ギャップが見えます。

4

5 に答える 5

2

IE8 の Developer ツールバーを使用して、BOTTOM の「border」div の「実際の」高さを確認します。「0」であることを確認してください。

その下のdivに対して次のことを試してください。

<style type="text/css">
    #bottomBorder{
        /* Adding '!important' to each CSS rule 
           will make sure nothing else in your code is 'overwriting'
           that rule. (doesn't work for IE6)
        */
        line-height:0 !important; 
        font-size:0 !important;
        height:0 !important;
        border-bottom:solid 4px red;
        position:absolute;
    }
</style>

または試してください:

<style type="text/css">
    #bottomBorder{
        border-top:solid 4px red;
    }
</style>

私が考えているのは、IE では div を高さ 0px に設定できないということです。これは前にdivで見たことがあります。

于 2009-10-09T16:00:08.740 に答える
1

通常、IEは正しい方向に進むため、DOCTYPEをいじる必要があると思います。

于 2009-10-07T17:49:01.153 に答える
1

この問題はマージンとパディングに関係していると思います。DIV 内に情報やスペーサーはありますか? これにより、考慮していない余分なスペースが生じる可能性があります。

margin:0; で div を調整します。ボーダー崩壊:崩壊;

また、前述のように、下の DIV では、DIV 自体の余白や間隔が原因でこのようなギャップが発生するのを防ぐために、それを上の境界線に設定する必要があります。

于 2009-10-09T13:30:52.693 に答える
0

わかりました。今のところ解決策はありませんが、境界線の下部ではなく、下部のdiv境界線の上部を表示するだけで、今のところ十分に見えます。誰かがもっとよく知っているなら、彼はまだ歓迎されています。

于 2009-10-07T19:01:19.770 に答える
0

IE8 が境界線の高さを高さパラメーターの一部として含んでいない可能性がありますか? ボーダーのサイズも追加してみてください。

于 2009-10-07T17:58:56.967 に答える