0

私はIE7/8/9でこのひどい問題を抱えています。

Dojo toolkit 1.8.0とを使ってアプリを書きましたPlay! framework。IEを除くすべてのブラウザで正常に動作します。その「開発者ツール」はエラーを表示しないので、firebugもエラーを表示します。問題のあるコードセクションはここにあります:

<div data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design: 'headline'">
    <div data-dojo-type="dijit.layout.ContentPane" id="head" region="top">
    </div>
    <div data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="region: 'center'">
        <div data-dojo-type="dijit.layout.ContentPane" id="menu" region="left">
        </div>
        <div data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="region: 'center'">
            <div data-dojo-type="dijit.layout.ContentPane" id="content_1" region="top">
            </div>
            <div data-dojo-type="dijit.layout.ContentPane" id="content_2" region="bottom">
            </div>
        </div>
    </div>
    <div data-dojo-type="dijit.layout.ContentPane" id="foot" region="bottom">
    </div>
</div>

結果は、IEを除くすべてのブラウザで次のようになります。 良い方法

しかし、IEでは次のように表示されます。 間違った方法

なぜそのような違いがあるのか​​誰かが説明できますか?最初はIEでコンテンツが隠されていると思ったので、を設定overflow: autoしましたが、ページの読み込み後にスクロールバーが表示されませんでした。

4

2 に答える 2

0

2つの考えられる理由が思い浮かびます。

  1. コンテンツコンテナの「center」要素がありません-afaik、dojo仕様では、region="center"リージョンが指定されているかどうかに関係なく、BorderContainerChildが1つ必要です。これは、デフォルトでcenterになります。

  2. BorderContainerの直接の子として、マークアップにレイアウト以外の要素がありますか?IE for onceはより標準的な要件であり、この場合は不明確なマークアップを破ります

于 2012-10-10T14:03:45.367 に答える
0

.menu問題は、要素に追加されたカスタムクラスにありました。

.menu {
    margin-right: auto;
    margin-left: auto;
}

この2つのスタイルは私のレイアウト全体を壊しました-.-それを削除すると、正しく表示され始めました。

于 2012-10-11T09:35:00.820 に答える