2017-09-15 7 views
0

私は絶対divが相対divの底にくっついています。私がしたいのは、内側のdivをそのサイズが外側のdivよりも大きくなるたびにスクロール可能(上向き)にすることだけです。コンテンツをスクロール可能にするには、bottom:0に設定します。

しかし、それは起こりません。 divはスクロール可能にならない!ここではフィドルだ:https://jsfiddle.net/xggjmjqc/

HTML:

<div class="mobile1"> 
    <div class="bottom1"> 
    </div> 
</div> 

<br><br> 

<!-- when inner gets bigger than outer: --> 

<div class="mobile2"> 
    <div class="bottom2"> 
    </div> 
</div> 

CSS:

.mobile1{ 
    height:400px; 
    width: 300px; 
    background-color: red; 
    position: relative 
} 

.bottom1{ 
    height:100px; 
    width: 300px; 
    position: absolute; 
    bottom: 0; 
    background-color: blue; 
} 

/* when inner gets bigger than outer: */ 

.mobile2{ 
    height:400px; 
    width: 300px; 
    background-color: red; 
    position: relative; 
    overflow-y: scroll; 
} 

.bottom2{ 
    height:500px; 
    width: 300px; 
    position: absolute; 
    bottom: 0; 
    background-color: blue; 
} 
+0

は、[この]のように内側の位置の相対 – Daniel

+0

を作る(https://jsfiddle.net/ xggjmjqc/2 /)? –

+0

は相対的なものではありません。なぜなら、外側(最初のケース)よりも小さくなった場合、底にくっついてしまうからです。内側のdivの内容は変数なので、場合によっては小さくなり、時には大きくなることもあります。 – jonhz

答えて

0

位置absoluteを使用すると、それがある意味、ドキュメントフローから要素がかかりますが、から "独立" であります他の要素。 位置相対を使用すると、外側のdivが内側に反応し、スクロールが表示されます。

.bottom2{ 
    height:500px; 
    width: 300px; 
    position: relative; 
    bottom: 0; 
    background-color: blue; 
} 

フィドル:下にいくつかのJavaScriptの設定スクロールしてhttps://jsfiddle.net/djwave28/xggjmjqc/3/

編集https://jsfiddle.net/djwave28/xggjmjqc/6/

+0

はい、しかし、それは外側(最初のケース)よりも小さくなる場合は底にくっついていません。内側のdivの内容は変数なので、場合によっては小さくなり、時には大きくなることもあります。 – jonhz

+0

javascriptでmaxにスクロールするように設定します。こちらを見てください:https://stackoverflow.com/questions/270612/scroll-to-bottom-of-div – Daniel

+0

まだbottombox2の高さを300pxに設定すると、問題は解決しません底にくっつく。 – jonhz

関連する問題