ฉันพยายามเติมพื้นที่แนวตั้งของไอเท็มเฟล็กซ์ภายใน Flexbox
.container {
height: 200px;
width: 500px;
display: flex;
flex-direction: row;
}
.flex-1 {
width: 100px;
background-color: blue;
}
.flex-2 {
position: relative;
flex: 1;
background-color: red;
}
.flex-2-child {
height: 100%;
width: 100%;
background-color: green;
}
<div class="container">
<div class="flex-1"></div>
<div class="flex-2">
<div class="flex-2-child"></div>
</div>
</div>
และนี่คือJSFiddle
flex-2-child
ไม่เติมเต็มความสูงที่ต้องการยกเว้นในสองกรณีที่:
flex-2
มีความสูง 100% (ซึ่งแปลกเพราะรายการแบบยืดหยุ่นมีค่าเริ่มต้น 100% + เป็นค่าบั๊กใน Chrome)flex-2-child
มีตำแหน่งแน่นอนซึ่งไม่สะดวกเช่นกัน
ไม่สามารถใช้งานได้ใน Chrome หรือ Firefox ในขณะนี้
height:100%
แต่พวกมันกำลังแสดงผลด้วยความสูงตามธรรมชาติแทน และสิ่งที่แปลกคือถ้าฉันเปลี่ยนความสูงของพวกเขาเป็นauto
แล้วพวกเขาก็ทำให้height:100%
เหมือนที่ฉันพยายามที่จะทำ แน่นอนว่ามันไม่ได้ใช้งานง่ายถ้าเป็นวิธีที่มันควรจะทำงาน