これは古いトピックですが、本来よりも難しいことが証明されていることを誓います。
問題を示すためにjsfiddleを作成しました。http://jsfiddle.net/motocomdigital/VfDfw/1/
クラックしたかと思ったらIE8互換モードで失敗。
問題
シマンティックな順序付けられていないリストにナビゲーションメニューがあります。を含む div ラッパーには、ウェブサイトのメイン幅である固定幅があります。
順序付けられていないリストは、ラッパーの中央に配置する必要があります。しかし、ナビゲーションのどのブロック要素にも幅が設定されていません。
http://jsfiddle.net/motocomdigital/VfDfw/1/
各要素が見えるように、各要素に異なる背景色を付けました。
左の位置としてdiv.navの半分のラッパー幅を持ち、次に.nav ulで -50% のマージン左を持つ修正購入を見つけたと思いましたが、IE 8 互換モードでは失敗するようです。以下のフィドルを参照してください...
http://jsfiddle.net/motocomdigital/VfDfw/2/
誰でも解決策またはより効率的な CSS メソッドを提案できますか? 私の麺を焼いています。
ありがとう
アップデート
フィドルの例で各 div を使用している理由で質問を更新する必要があると思いました。
私の新しいフィドルを見てください。http://jsfiddle.net/motocomdigital/VfDfw/3/
各要素に 10px の上部位置を追加したので、これほど多くの div を使用した理由がわかります。しかし、唯一の問題は、このソリューションが IE 7 に適していないことです。したがって、ブロック要素をセンタリングする別のソリューションが必要です。float: center CSS ルールがあればいいのに!
- 紺色のdivは、ナビゲーションの無限の背景画像の地平線 100% 幅の div です。
- 赤いdivは、私の Web サイトの最大幅であるラッパーです。フィドル幅: 420px。
- 緑色のdivは動的ナビゲーションのフローティング幅で、左に配置されています: 210px (上記の幅の 50%)
- 黄色のulは動的ナビゲーション要素のフローティング幅で、負のマージンは 50% です。
- 青いliは、仕切り付きの私のアンカー ボタン コンテナーです。
これが理にかなっていることを願っています。しかし、このソリューションはほとんど機能しましたが、IE7 で機能しないのは残念です