以下HTML
とCSS
.container {
position: relative;
border: solid 1px red;
height: 256px;
width: 256px;
overflow: auto;
}
.full-height {
position: absolute;
top: 0;
left: 0;
right: 128px;
bottom: 0;
background: blue;
}
<div class="container">
<div class="full-height">
</div>
</div>
インナーdiv
は、必要に応じて、コンテナーのヘッド全体を占めます。他のフローのコンテンツをコンテナーに追加すると、次のようになります。
.container {
position: relative;
border: solid 1px red;
height: 256px;
width: 256px;
overflow: auto;
}
.full-height {
position: absolute;
top: 0;
left: 0;
right: 128px;
bottom: 0;
background: blue;
}
<div class="container">
<div class="full-height">
</div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur mollitia maxime facere quae cumque perferendis cum atque quia repellendus rerum eaque quod quibusdam incidunt blanditiis possimus temporibus reiciendis deserunt sequi eveniet necessitatibus
maiores quas assumenda voluptate qui odio laboriosam totam repudiandae? Doloremque dignissimos voluptatibus eveniet rem quasi minus ex cumque esse culpa cupiditate cum architecto! Facilis deleniti unde suscipit minima obcaecati vero ea soluta odio cupiditate
placeat vitae nesciunt quis alias dolorum nemo sint facere. Deleniti itaque incidunt eligendi qui nemo corporis ducimus beatae consequatur est iusto dolorum consequuntur vero debitis saepe voluptatem impedit sint ea numquam quia voluptate quidem.
</div>
次に、コンテナーは必要に応じてスクロールしますが、絶対配置された要素はコンテナーの下部に固定されなくなり、コンテナーの最初に表示可能な下部で停止します。私の質問です。絶対配置された要素を使用せずにそのコンテナの完全なスクロール高さにする方法はありますJS
か?
top: 0;
それを削除した場合、もはや機能しません。
innerHeight
がないと、それは難しいでしょう。position:fixed
フローの外にあるため、残念ながらコンテナ内では機能しません。したがって、この「回避策」も機能しません:(