1

これは私の「簡潔な」HTMLです

<html>
<head>
    <style type="text/css">
        body.custom.one_sidebar {
            background:#f5f5f5 url('img/bg/bg-content.png') no-repeat 50% 36.1em;
            overflow-x:hidden;
        }
    </style>
</head>
<body class="custom one_sidebar">
    <div class="header_area"></div>
    <div class="content_area"></div>
</body>
</html>

問題は、背景画像の場所がIE7で機能しないことです。IE8や他のほぼすべてのブラウザで動作します。理由を理解するのに役立つ情報が欲しいです。

4

2 に答える 2

1

それはあなたがその位置でパーセントとemを混同しているからです。IE7の場合、同じ2倍、パーセント/ピクセルまたはemを使用する必要があります。

body.custom.one_sidebar {
 background:#f5f5f5 url('img/bg/bg-content.png') no-repeat 50% value%;
 overflow-x:hidden;
}

また

body.custom.one_sidebar {
 background:#f5f5f5 url('img/bg/bg-content.png') no-repeat value_em 36.1em;
 overflow-x:hidden;
}
于 2012-08-28T21:41:35.163 に答える
0

まず、Doctypeが選択されていることを確認してください。選択されていない場合、Quirksモードがトリガーされ、IEは一部の省略形の背景プロパティを正しく(またはまったく)レンダリングしません。

display: blockサイドバーのCSSに、と適切な幅と高さを追加してみてください。IEには、要素がブロック要素として厳密に定義されていない場合の一部のプロパティのレンダリングに関する既知の問題があります。

于 2012-08-28T21:20:38.900 に答える