• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSSを使用したメニューのIEの表示くずれについて)

CSSを使用したメニューのIEの表示くずれについて

このQ&Aのポイント
  • CSSで作成したメニューが、VistaのIE8で表示が崩れる問題が発生しています。FireFoxやSafariでは正常に表示されていますが、IE8では解決できません。
  • ローカルに保存したファイルでは正常に表示されるが、オンラインにアップデートすると表示が狂ってしまいます。
  • 問題点を指摘していただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

 IEはブロック要素の寸法の取り方にバグがあるため、floatさせる要素の合計幅が、計算した幅より小さいはずなのに、改行されます。  対策としては、各要素の幅を小さくするか、外枠ブロックの大きさを広くするかのいずれの対策をとります。  私は、このようなメニューはリキッドスタイルで行います(表示幅、フローとさせる要素もすべて%幅指定)ので、具体的な数値はご自身でお試しください。  実を言うと、このような形で質問者が特定できる可能性のあるURLの張り方は禁止されているので、質問自体が編集される可能性があります。その場合でも回答が齟齬にならないように一般論としてのお答しかしていません。ご了承ください。  

noname#262880
質問者

お礼

ありがとうございます。 ご指摘の方法では解決出来ず、とあるページで見つけた「a要素に指定するfloat:leftを、li要素に一括指定する」ってのをやってみたら、”階段現象”は解決出来ました。 あとは、背景とピクセル単位で合致させる作業なのですが・・・ やはりWindows7以外のIEでは正常に表示出来ず、もうどうしたら良いのやら・・・ とりあえず、一番の問題点は解決出来ましたので、この質問はクローズします。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

HTMLを正しく記述してください。 <ul>要素内には<li>以外は入りません。 <!ELEMENT UL - - (LI)+ -- unordered list --> <ul>   <li>     <div></div>   </li> </ul> なお、ひとつの要素におけるidとnameの値は同じでなければなりません。

noname#262880
質問者

お礼

ありがとうございます! ul内にあったdivを取り除いてみたりしたのですが、やはりうまくいきません・・・ また、floatしているのに、横並びにならず、階段状に表示されてしまいます。 調べたところ、display:block;をdisplay:inline;に変えると良いとあったのですが、 それも解決しませんでした・・・。 あまりCSSに詳しくないので、具体的にご教授頂けると幸いです。

すると、全ての回答が全文表示されます。

関連するQ&A