- ベストアンサー
IEでfloatがずれてしまう原因と解決方法をご紹介
- IE8やIE9において、div要素で囲んだ文字列の右にボタンを配置する際に、floatを使用した場合、一部の要素がずれてしまう現象が発生します。
- この問題は、IEのバージョンによって異なる挙動をするため、一般的なCSSの書き方で対応することが難しいです。
- 解決方法としては、IE用のCSSを別途用意し、特定のバージョンにのみ適用させる方法があります。また、floatではなく他の方法を検討することも効果的です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ざっと見渡すと、XHTMLのようです。したがって、DOCTYE宣言を書いて、標準モードで動作するように指定すると良いでしょう。 下記のいずれでも、標準モードで動作するはずです。 XHTML1.0 strictなら <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> XHTML1.0 transitinalなら <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> DOCTYEはつけなければなりません。trnsitionalは後方互換です。 ・製作するときはstrictで製作するべきです。 なお、HTML4.01で作るなら、それようのDOCTYE宣言をすること、その場合 <input type="button" value="ボタン1" style="float: left;"> とする。 なお、HTML自体が誤っています。 ・input,labelはform内に書かなければなりません。 ・labelは、テキストを特定の他のコントロールに対し明示的に結び付けるためのものです。→17.9 ラベル ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#edef-LABEL ) 必ず、idと組み合わせて使用されます。 HTMLの貧弱なプレゼンテーションを伴うために、本来の用途と異なる使用方法は強く否定されています。
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
DOCTYPE宣言をしていないとか? <!DOCTYPE html> を入れるとFirefoxと同じ表示になります。
お礼
返答ありがとうとございます。 試してみたところ、同じ表示になりました。 ありがとうございます。
お礼
返答ありがとうございます。 ご指摘ありがとうございます。勉強になります。 リンク先を見てみます。 ありがとうございました。