0

フィールドセット内にフィールドセットがあります。カーソルを合わせると、各タイプのフィールドセットの色が変わります。Firefox では問題なく動作しますが、IE7 互換モードの IE8 および IE8 では、子フィールドセットにカーソルを合わせるとジャンプします (一部のパディングが削除されたように見えますが、それは私の CSS の内容ではありません)。

誰かがIEのびくびくした効果を防ぐ方法を理解するのを手伝ってくれますか? ホバーすると子フィールドセットがジャンプするのに、親フィールドセットがジャンプしないのはなぜですか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <style type="text/css">
        fieldset.property { background-color: #EDF5FF; }
        fieldset.property:hover { background-color: #C1DDFF; }
        fieldset.service:hover { background-color:#EDF5FF; }
    </style>
</head>
<body>
    <fieldset class="property">
        Parent fieldset<br />
        Parent fieldset<br />
        Parent fieldset<br />
        <fieldset class="service">
            Child<br />
            Child<br />
            Child<br />
        </fieldset>
        Parent fieldset<br />
        Parent fieldset<br />
        Parent fieldset<br />
    </fieldset>
</body>

4

2 に答える 2

3

私も、IEが子要素をこのように扱う理由が正確にはわかりませんが、パディングと多くの場合マージンを明確に定義することで、これを防ぐことができます.

フィールドセット{マージン:0; パディング:0;}

于 2009-10-08T20:08:56.833 に答える
0

IE8 で子がビクビクする理由はまだわかりませんが、修正を見つけました。

フィールドセットにパディングを明示的に設定するスタイルを追加すると、ホバーしたときにフィールドセットは同じままになります。

/* Add to make rendering in IE and Firefox the same /*
fieldset { padding:2px; }
于 2009-10-08T16:15:26.587 に答える