私が達成したいもののASCIIアートのイラストから始めましょう:HTML + CSSで以下のレイアウトを達成するには?
Category title
Title Title
+-------+ +-------+
| | | |
| | | |
| Image | | Image |
| | | |
| | | |
+-------+ +-------+
Subtitle Subtitle
Category title
Title Title
+-------+ +-------+
| | | |
| | | |
| Image | | Image |
| | | |
| | | |
+-------+ +-------+
Subtitle Subtitle
だから私はアイテムが含まれ、これらのカテゴリを持っています。各項目は、タイトル、字幕、画像から構成されます。画像のサイズは異なります。幅は150pxで一定ですが、高さの範囲は150pxから252pxです。そして、私はこのサイズのどこかにあるはずですが、将来どのサイズがあるかを予測することはできません。幅は150pxで一定で、高さは150pxから300pxの間で変わることができます。
もちろん、各カテゴリのカウントカテゴリとアイテムは任意です。各カテゴリには少なくとも1つのアイテムがあります(それ以外の場合はカテゴリを表示しません)。タイトルと字幕の長さも可変ですが、ほとんどはかなり短いです。
私が作成する効果は以下の通りです:
- アイテムのタイトルとサブタイトルは、重大な空白挟んずに右隣の画像(上、下)にレンダリングされます。
- カテゴリ内のアイテムが多すぎる場合、ラップを開始してさらに行を作成します。水平スクロールはありません。行は明らかに互いに下にある必要があります。ウィンドウの幅が変わると、アイテムは自動的に並べ替えられます。
- アイテムのタイトルまたはサブタイトルがもう少し長い場合、それらはラップする必要があります。画像の幅を大幅に超えて拡大すべきではありません。
- カテゴリヘッダーには、その上と下のアイテム行との間に空白スペースが必要です。
- カテゴリのタイトルはページの中央に表示されます。アイテムのタイトルとサブタイトルは、画像の中央に表示されます。
効果がTABLE、DIVまたはThe Forceによって達成されるかどうかは関係ありません。私はちょうどそのように見えるようにしたい。 :)これは可能ですか?はいの場合、これを行う方法は?
もしそうでなければ、同じ情報をカプセル化して別のブラウザサイズで見栄えの良い代替レイアウトを提案することはできますか?
実際にinnerContainerを高さが固定された別のラッパーに配置して、恐ろしい「空のセル」エフェクトを回避することもできますが、ほとんどのアイテムが高さ全体よりも小さくなると、空白(最大高さが300px、平均高さが150pxに近い場合は、項目間に空の行がほとんどあることを意味します)。 –
対象とするブラウザがインラインブロック表示モードをサポートしている限り、高さを変えることができます。 .innerContainerから浮動小数点数を取り除き、vertical-align:topとすると、厄介なラップの問題を起こさずに浮動と同じ効果が得られます。 – Joel
インラインブロックは、ブラウザ間での使用には適していません。 FF2の場合、-moz-inline-boxが必要です。IEの場合、DIVではなくSPANのようなインライン要素でなければなりません(divはプロパティを無視します)。それから、もちろん、フロートを左に捨てます。 –