2

以下のコードは、FF では送信ボタンを独自の行に配置し、IE では同じ行に配置するのはなぜですか?

<style type="text/css">
#div1 form input.submit {display:block;}
</style>

<div id="div1">
<form>
hi
<input type="submit" class="submit" value="hello there">
</form>

</div>
4

3 に答える 3

3

これが発生する理由は、<body>開始タグがないためです。開始タグが HTML に明示的に含まれていない場合<body>、IE (少なくとも 6) はドキュメント ツリーを誤ってレンダリングし、form要素を含むセレクターは正しく機能しません。

ここで、 body タグを追加すると機能します。

昨日、ほぼ同じバグを文書化しました。body タグが欠落しているフォームがスタイルできないだけでなく、セレクターにある場合はスタイルできない他の要素を説明するために、説明を更新する必要があるようです。

Doctororange が指摘するようformに、セレクターでも指定しないことでこれを回避できますが、タグを挿入することをお勧めします<body>

于 2010-10-01T08:33:14.470 に答える
0

ie6 でテストしている場合は、次を試してください。

#div1 form .submit {display:block;}
于 2010-09-30T19:27:29.233 に答える
0

IE は Web 標準に準拠していないためです。

form少なくとも三重にネストされたセレクターでは、セレクターが邪魔になっているように見えます。

これは機能します:

#div1 input.submit{
display:block;
}

これは機能します:

form input.submit{
display:block;
}

これはしません:

#div1 form input.submit{
display:block;
}
于 2010-10-01T08:28:43.000 に答える