1

コンテンツ(2つの要素)<div>のサイズを変更できないという問題があります。<p>コンテンツはフロートされます。

  • 左に1つの<p>タグが浮かんでい ます
  • 右に1つの<p>タグが浮かんでいます
  • <div>以下にstyle="clear:both"の空のタグが1つあります

それでも、<div>すべてが含まれているのは3行の高さで、本来の1行だけではありません。それを機能させるために私は何が欠けていますか?

4

4 に答える 4

1

フィドルを用意しましたが、うまく機能します。コードのエラーに違いありません。その一部を見せてください。

およびpaddings/margins/height/lineheightに影響を与えないようにしてください(=ブラウザのデフォルトをリセットしてください!)。また、親は両方を保持するのに十分な幅が必要です。また、非フローティング コンテンツがある場合は、順序が重要です。divpdivp

于 2012-08-21T13:53:42.637 に答える
1

<p>まず、両方のタグを左にフロートします。

次に、 の<div>幅が両方の<p>タグに対応するのに十分な大きさであることを確認します。

その後、それらを1行で取得できるはずです。

http://jsfiddle.net/myJ3W/1/

なぜ右にフロートするのが良い考えではないのかを示すためだけに (それは実際に何をしようとしているのかに依存します.. ダイアログボックス?)

を使用するfloat: right;と、段落が長くなりすぎた後に書式設定が壊れます。

http://jsfiddle.net/myJ3W/3/

両方に使用するfloat: left;と、それらをコンテナに入れることができますが、それらは箱の中に確実に収まります。

http://jsfiddle.net/myJ3W/4/

繰り返しますが、ここで達成しようとしていることに大きく依存します。

于 2012-08-21T13:53:53.713 に答える
1

<p>要素にはデフォルトがあると思いますmargin。に設定marginしてみてください0px。これにより、間隔が削除される可能性があります。

于 2012-08-21T13:56:31.063 に答える
-1

<div>それぞれが 1 行になるように、最も外側に十分なスペースがあり<p>ますか? そうでなければ、一方が他方よりも下に崩れます。さらに、クリアの両方の<div>行の高さも完全になります。cbこれらの状況で適用するというクラスに適用するスタイルは次のとおりです...

.cb
{
    clear:both !important;
    float:none !important;
    height:1px;
    line-height:0;
    margin:0;
    padding:0;
}
于 2012-08-21T13:54:31.270 に答える