#header-menu{
width:990px;
height: 115px;
margin-top: 0px;
margin-right: auto;
margin-bottom: auto;
margin-left: auto;
padding-top: 0px;
}
私はIE9、IE8など、すべてのブラウザで動作するこのCSSコードを使用しています。しかし、IE7では動作しません。何が問題なのか理解できません
#header-menu{
width:990px;
height: 115px;
margin-top: 0px;
margin-right: auto;
margin-bottom: auto;
margin-left: auto;
padding-top: 0px;
}
私はIE9、IE8など、すべてのブラウザで動作するこのCSSコードを使用しています。しかし、IE7では動作しません。何が問題なのか理解できません
CSSに関して言えば、IE 7は常に面倒でした。追加のスタイル シートをいつでも追加して、IE 7 がドキュメントの HEAD でめちゃくちゃになっているものを修正および変更できます (メインのスタイル シートの下にあることを確認してください)。
<!--[if IE 7]><link href="/css/ie7.css" rel="stylesheet" type="text/css"><![endif]-->
これは最速の方法ではありません。W3C は、スタイル シートに追加するために、ブラウザを事前にチェックしてボディにクラスを追加することを推奨していますが、これが最も速く、作業を完了します。
注: いつの日か IE 7 をサポートしない世界に住むことを願うばかりです。
うまくいかない理由を教えてください。何かを中央に配置しようとしている場合、margin-left:auto;
andmargin-right:auto;
テクニックは古い IE バージョンでは機能しないため、text-align:center;
(ヘッダー メニュー自体ではなく) 親要素で使用する必要があります。header-menu に親がない場合はtext-align:center;
、html 要素に適用する必要があります。
html {text-align:center;}
編集:これはエレガントではないため、IE8 より前のバージョンの別の CSS に次のように含めることができます。
<!--[if lt IE8]> (your CSS here) <![endif]-->
header-menu
これで幅と高さが固定されているため、を中央に配置しようとする場合は、margin: 0 auto;
代わりに次を使用できます。
margin-top: 0px; margin-right: auto; margin-bottom: auto; margin-left: auto;
これで IE7 の問題が解決することを願っています。