2016-07-12 6 views
0

overflow:autoと結果としてスクロールバーを持つdivがあるとします。親divの高さだけでなく、画面上にレンダリングされるときに下にスクロールするときに、親divの全体を占めるdivを追加したいと思います。divの高さを親の高さの100%になるようにオーバーフローさせます

私の説明が少し不明な場合は、以下のコードとjsfiddleをご覧ください。親を下にスクロールすると、赤の列が親の一番下まで広がるようにしたいと思います。あなたは赤いボックスの底を見ることができないはずです。

これを行うにはどうすればよいですか?次の質問と答えと重複

Here it is in a JSFiddle

.parent { 
 
    overflow: auto; 
 
    overflow-x: hidden; 
 
    position: relative; 
 
    height: 300px; 
 
    width: 200px; 
 
    border: 1px solid black; 
 
} 
 
.line { 
 
    border-bottom: 1.5px solid black; 
 
    height: 50px; 
 
    margin-left: 7px; 
 
    margin-right: 7px; 
 
    position: relative; 
 
} 
 
.box { 
 
    position: absolute; 
 
    top: 0; 
 
    height: 100%; 
 
    background-color: red; 
 
    width: 50%; 
 
    left: 20%; 
 
    z-index: 10; 
 
}
<div class="parent"> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="line"></div> 
 
    <div class="box"></div> 
 
</div>

可能

答えて

1

Position: absolute and parent height?

絶対要素は、文書の流れから完全だったので、あなたはJavaScriptでそれを行うことができるだけで、それが唯一の親要素と整列させることができます。

期待通りに動作するように、次のように2行のjsを追加します。

var scrollParentHeight = document.getElementsByClassName('parent')[0].scrollHeight 
document.getElementsByClassName('box')[0].style.height = scrollParentHeight + 'px'; 
関連する問題