1

次のマークアップがあります。

<div id="playArea" style="position: relative;">
    <div style="position: absolute; left: 295px; top: -1px; width: 313px; height: 269px;">Hello</div>
    <div style="position: absolute; left: 63px; top: 35px; width: 80px; height: 42px;">World</div>
    <div style="position: absolute; left: 534px; top: 329px; width: 183px; height: 251px;">Bye</div>
</div>

しかし、「playArea」divの下にテキストの段落を置きたいのですが、playArea内のすべてのdivが絶対的であるため、テキストは最後の絶対配置divの下部に表示されません。

私はこれを調べて、float:left と clear:left を使用して代替手段を見つけましたが、最初の div でこのメソッドを使用した後、2 番目の div の開始点が最初の div ではなく最初の div の下にあるため、div を正しく配置できません。 (0,0)。これでどうやって手に入れることができるかについてのアイデア。

ありがとう

4

4 に答える 4

0

私が正しく理解していれば、「playArea」divに適切な高さを与えるだけです。

編集:つまり、その中のすべての高さを合わせたものです。

于 2009-12-24T11:18:01.953 に答える
0

しかし、「playArea」divの下にテキストの段落を置きたいのですが、playArea内のすべてのdivが絶対的であるため、テキストは最後の絶対配置divの下部に表示されません。

すべての寸法と位置が既にわかっているように見えるので、別の絶対位置の div を追加して、相対コンテンツを配置します。

私はこれを調べて、float:left と clear:left を使用して代替手段を見つけましたが、最初の div でこのメソッドを使用した後、2 番目の div の開始点が最初の div ではなく最初の div の下にあるため、div を正しく配置できません。 (0,0)。これでどうやって手に入れることができるかについてのアイデア。

position: absoluteフロートを正しくするには、削除する必要があります。幅と高さだけで十分です。

于 2009-12-24T11:20:48.657 に答える
0

あなたと "BalusC" の間のコメント スレッドを読んだ後、あなたは CSS を変更し、項目をフロートさせ、配置に margin-top と margin-left を使用しようとしているようです。そのように完全に実行できますが、負のマージンを使用して要素を配置することもできることを忘れています. たとえば、margin-top:-10px;を使用するとします。次に、要素を引き上げます(通常の正の値のマージンのように押し下げるのではなく)。同じことが他のすべての余白にも当てはまります。

それが今のあなたに欠けている要素のようです。

于 2009-12-24T14:43:55.877 に答える
0

左の 3 つの内部 div をフロートoverflow: hidden;し、playArea div を配置<p>し、3 つの内部 div の下に配置します。clear: both;

于 2009-12-24T11:22:58.340 に答える