さて、私はちょっと大きなものを持っています。
ベースワイヤーフレーム(接続済み)で作業していますが、このレイアウトの実装に問題があります。基本的に、コンテナdivには、さらにいくつかのdivが含まれています。各内部divは製品のコンポーネントであり、すべてがまったく同じ構造化されたコンテンツフロー(画像、製品のタイトル、ドキュメントへのリンク)を持っています。ワイヤーフレームには、7つのコンポーネントdivが表示されます(1つはMSPAINTの下に隠されています)。
望ましい成果
- タイトルとリンクは、どちらかのテキストのフォントサイズ/行の高さに関係なく、画像アイコンの横に表示される必要があります。
- タイトルは1行にとどまる必要があります。折り返すことはできません。
- 内部のdivは、収まらなくなるまで隣り合わせに並べてから、次の行に折り返す必要があります。
- コンテンツをコンテナdivに動的にロードできますが、そのdivはさまざまな数のコンポーネントを処理できる必要があります。ユーザーが製品の種類とバージョンを選択すると、コンポーネントの数が変わる可能性があります。
知られていること
- 一部のコンポーネントタイトルは短くなり(7文字)、一部は長くなります(27文字)。
- すべてのアイコンは約50x50ピクセルになります。
- 一部の選択された製品には、最大で8〜9個のコンポーネントdivがあります。
- 一部の選択された製品には、少なくとも3つのコンポーネントdivがあります。
私が諦めたもの
- いいでしょう、コンポーネントdivの幅と高さを修正できます。気になるかどうかを確認してください。
- 複数のdiv。なんでもいい。コンポーネントdivには、ネストされたdivを追加する必要はありません。私はばかで、それは愚かでした(答えは、画像と2つの段落要素のみを持ち、画像が左に浮いているコンポーネントdivであると確信しています)。
私が開発したコードは、私が多くのことを試し、コメントしたので、巨大で醜いです。これは、最小限のダメージしか与えられていないと思う一般的なコードを含むjsFiddleです。
HTML
<div id="container">
<div class="component" id="1">
<div class="icon">
<img src="img.png"></a>
</div>
<div class="title">
<p>Product Item #1</p>
</div>
<div class="links">
<p><a href="#">HTML</a> <a href="#">PDF</a></p>
</div>
</div>
<div class="component" id="2">
<div class="icon">
<img src="img.png"></a>
</div>
<div class="title">
<p>Product Item 2</p>
</div>
<div class="links">
<p><a href="#">HTML</a> <a href="#">PDF</a></p>
</div>
</div>
...
// More component divs here.
</div>
CSS
#container {
border: 1px solid red;
overflow: auto;
margin-left: auto;
margin-right: auto;
width: 900px;
}
.component {
border: 1px solid black;
margin: 3px;
overflow: auto;
float: left;
padding: 3px;
}
.icon {
float: left;
}
助けてくれてありがとう!