2011-11-26 4 views
7

外側のコンテナdivには2つの内側divがあります。右側の内側divには、ユーザー入力に基づいて拡大または縮小できるテキストがあります。テキストdivの高さ:250pxを設定してシミュレートしました)。変わったことは、右側の内側のdivの高さが増えるにつれて、左側の内側のdivが外側のdivで下に落ちるということです。私はdivの周りに色のついた輪郭線を付けました - 左の内側div、 'falling'問題の輪郭は青い輪郭を持っています。 「ユーザーが入力したテキストのために成長する」というのは、紫色の境界線を持つ右の内側のdivです。コンテナdivの上に一列に並ぶように内側のdivが必要

2つの内側divの外側コンテナにはオレンジ色の輪郭があります。

100%UNAFFECTEDにするか、入力されたテキストの量に影響を受けないようにするには、青い枠線で左のdivが必要です。青い枠線のdivを左に置いた場合、は、灰色の枠線を持つ外側のコンテナdivの左上隅にとどまる必要があります()。

右側の緑色のdivのボックスの高さが左のdivを下に押しているのはなぜですか?ここで

は何が起こっているかを見るためのリンクです:

http://jsfiddle.net/Shomer/JSyYY/

ここでは、コードです:

<div style="display:inline-block; border: 4px solid orange;"> 
    <div style="border: 2px solid blue; display:inline-block;"> 
     <div style="display:inline-block; border: 1px solid red;">topleft 
     </div> 
     <div style="display:inline-block; border: 1px solid red;">topright 
     </div> 
     <div>lower div 
     </div> 
    </div> 

    <div style="display:inline-block; border: 3px solid purple;"> 
    <div style="display:inline-block; height:250px; border: 1px solid red;"> "text" 
    </div> 
    <div style="display:inline-block; margin-top:0; border: 1px solid red;"> <b>button</b> 
    </div> 
    <div>&nbsp; </div> 
    </div> 
/div> 
+1

この250ピクセルの高さでは、divのどのようなテキストが正しく表示されていないかを正しくシミュレートしていません。ここに250px http://jsfiddle.net/JSyYY/1/ –

+0

WOWのないjsfiddleの法的テキストがあります。私は「左側のdivの落ち込み」問題を解決するまで、本当の量のテキストを入力していませんでした。私は新しい問題があることを知っています。なぜ、現在埋められているテキスト右側のdivはもはや左側のblue divの右側にありませんか? – wantTheBest

+0

ありがとうございましたGrillz - 私は右にある今よりはるかに大きなテキストに幅150pxを設定し、右側の紫色の境界divが左の青色の境界divの下に強制的に停止することを許可しました。レイアウト上の「たくさんのテキスト」効果について、頭をアップしてくれてありがとう。 – wantTheBest

答えて

8

Hiyouがblueborderのdiv要素の親のdivの上部に縦揃えを設定してみる必要があります。

<div style="display:inline-block; border: 4px solid orange;" > 
    <div style="border: 2px solid blue; display:inline-block;**vertical-align:top**"> 
      <div style="display:inline-block; border: 1px solid red;">topleft 
      </div> 
      <div style="display:inline-block; border: 1px solid red;">topright 
      </div> 
      <div>lower div 
      </div> 
      <!-- <div>a</div> --> 
    </div> 

    <div style="display:inline-block; border: 3px solid purple;"> 
     <div style="display:inline-block; height:250px; border: 1px solid red;"> "text" 
     </div> 
     <div style="display:inline-block; margin-top:0; border: 1px solid red;"> <b>button</b> 
     </div> 
     <div>&nbsp; </div> 
    </div> 
</div> 
+0

ありがとうございました - それは、左下の青い国境のdivの問題を解決しました、ありがとう、今私は右に多くのテキストを追加することは、 – wantTheBest

関連する問題