Để #outerchiều cao được dựa trên nội dung của nó, và có#inner dựa trên chiều cao của nó, làm cho cả hai yếu tố được định vị tuyệt đối.
Thông tin chi tiết có thể được tìm thấy trong thông số kỹ thuật cho thuộc tính chiều cao css , nhưng về cơ bản, #innerphải bỏ qua #outerchiều cao nếu #outerchiều cao là auto, trừ khi #outer được định vị tuyệt đối. Sau đó, #innerchiều cao sẽ là 0, trừ khi #inner chính nó được định vị tuyệt đối.
<style>
#outer {
position:absolute;
height:auto; width:200px;
border: 1px solid red;
}
#inner {
position:absolute;
height:100%;
width:20px;
border: 1px solid black;
}
</style>
<div id='outer'>
<div id='inner'>
</div>
text
</div>
Tuy nhiên ... Bằng cách định vị #innerhoàn toàn, một floatcài đặt sẽ bị bỏ qua, do đó bạn sẽ cần chọn chiều rộng cho #innerrõ ràng và thêm phần đệm vào #outerđể giả mạo gói văn bản mà tôi nghi ngờ bạn muốn. Ví dụ, bên dưới, phần đệm #outerlà chiều rộng #inner+3. Thuận tiện (vì toàn bộ vấn đề là tăng #innerchiều cao lên 100%) không cần phải bọc văn bản bên dưới #inner, vì vậy điều này sẽ trông giống như #innerđược thả nổi.
<style>
#outer2{
padding-left: 23px;
position:absolute;
height:auto;
width:200px;
border: 1px solid red;
}
#inner2{
left:0;
position:absolute;
height:100%;
width:20px;
border: 1px solid black;
}
</style>
<div id='outer2'>
<div id='inner2'>
</div>
text
</div>
Tôi đã xóa câu trả lời trước đó của mình, vì nó dựa trên quá nhiều giả định sai về mục tiêu của bạn.