Với những điều sau HTML
và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>
Bên trong div
chiếm toàn bộ đầu của hộp đựng như mong muốn. Nếu bây giờ tôi thêm một số khác, luồng, nội dung vào vùng chứa, chẳng hạn như:
.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>
Sau đó, vùng chứa sẽ cuộn như mong muốn, tuy nhiên, phần tử được định vị tuyệt đối không còn được neo ở dưới cùng của vùng chứa mà dừng lại ở đáy có thể xem ban đầu của vùng chứa. Câu hỏi của tôi là; Có cách nào để phần tử được định vị tuyệt đối có chiều cao cuộn hoàn chỉnh của vùng chứa mà không sử dụng JS
không?
top: 0;
nó chỉ đơn giản là không hoạt động nữa.
innerHeight
, điều đó sẽ thật khó khăn. Đáng tiếc là position:fixed
không làm việc bên trong thùng chứa vì nó ra khỏi dòng chảy vì vậy đây 'workaround' sẽ không làm việc cũng :(