0

左にフロートされた、幅が不明な 2 つの div。そのうちの 1 つは、ページに収まりきらないほど多くのコンテンツを持っているため、最初のものの下に移動します (IE を除く)。

http://corexii.com/floatproblem/float.html

display:inline-table; を追加します。大きなものはそのコンテンツをラップします (ブラウザー間で一貫して):

http://corexii.com/floatproblem/table.html

しかし、doctype (strict だけでなく、ANY doctype だけでなく) を導入すると、Firefox にはもうありません:

http://corexii.com/floatproblem/doctype.html

ブラウザ間で確実に、Doctypeを同時に使用しながら、コンテンツをラップする適切なdivを取得するにはどうすればよいですか?

4

3 に答える 3

2

ブラウザ間で確実に、Doctypeを同時に使用しながら、コンテンツをラップする適切なdivを取得するにはどうすればよいですか?

幅を定義しないと、 . この場合、パーセンテージ幅をお勧めしますが、それはあなた次第です。

div のデフォルトの幅は、コンテナー(この場合はページ) の 100% です。ページのサイズを固有の幅よりも小さくしない限り、最初の div は実際のサイズになります。完全で有効な doctype がなくても、ブラウザー間での一貫性を期待することは、単に無駄なことです。

于 2009-04-23T18:53:56.350 に答える
1

CSS は、テーブル ベースのレイアウトでできるすべてのことを行うことはできません。1 つには、動的な幅のレイアウトははるかに複雑です。テーブルのないレイアウトは 98% のケースで依然として望ましいですが、この種の動的な幅のレイアウトが本当に必要な場合は、テーブルを使用する必要があるかもしれません。

一貫性のない幅は、慎重にプロポーションを取らなければ美的観点からあまり良くないため、間違った問題を修正している可能性があります。

于 2009-04-23T19:57:39.553 に答える
0

BODY要素を含めることから始めることができます。

Traingamer は、Firefox の動作と、目的の結果を得るために何をする必要があるかについて説明しました。CSS を使用してレイアウトを作成することは不可能であるという話に飛びつく代わりに、彼の話を聞くことができます。

正しい Web 仕様に準拠していないために発生しいる問題を CSS のせいにしないでください。

于 2009-04-23T19:41:43.943 に答える