-1

私がやろうとしていたのは、CSSを使用してdivを中央に配置することでした。頭が回らなかった。それは単に機能しませんでした。次のコードを使用しました。

<style type="text/css">
<!--
div.test {
    width: 300px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid black;
}

-->
</style>
<div class='test'>
hello
</div>

これはIEでは機能しませんでした。他の機能では機能しました(私のiPhoneを含め、非常にイライラしました)。divは単に右側に配置されたままでした。

ここで、(単純な!)ソリューションについて説明します。これには多くの時間がかかり、検索エンジンで問題を検索することを見つけることができませんでした。doctypeなどを追加するだけです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">

なぜそれが修正されたのですか?

4

1 に答える 1

5

はい、<!DOCTYPE>宣言を省略すると、互換性の理由から、IEがIE5のように可能な限り動作しようとする恐ろしいクァークズモードになります。

margin-left/をサポートright: autoしないことはIE5CSSの最も顕著なバグの1つですが、決して1つだけではなく、最悪のバグでもあります。クァークズモードのCSSレンダリングは、絶対に避けなければならない大きな頭痛の種です。<!DOCTYPE>すべてのHTMLドキュメントに常にを含めます。

于 2010-10-18T10:40:21.873 に答える