如果容器是flex並且item2有overflow,容器將渲染為期望的大小,並且溢出滾動(dòng)條可見。
.Flex_container { width: 300px; height: 100px; display: flex; flex-direction: column; } .item1 { color: white; background-color: black; } .item2 { color: white; background-color: brown; overflow: auto; } <div class="Flex_container"> <div class="item1"> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ei </p> </div> <div class="item2"> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accug elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et at.</p> </div> </div>
但是當(dāng)我不應(yīng)用flexbox時(shí),overflow似乎不起作用。容器似乎更適應(yīng)內(nèi)容。我想知道為什麼。我正準(zhǔn)備學(xué)習(xí)CSS。而且我無(wú)法從腦海中擺脫這個(gè)問(wèn)題。
.container { width: 300px; height: 100px; } .item1 { color: white; background-color: black; } .item2 { color: white; background-color: brown; overflow: auto; } <div class="container"> <div class="item1"> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ei </p> </div> <div class="item2"> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accug elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et at.</p> </div> </div>
容器沒有適應(yīng)內(nèi)容。它保持了您給定的高度。
但是子元素的高度沒有受到限制,因此它們會(huì)變大以適應(yīng)內(nèi)容,並且由於父元素沒有設(shè)定overflow-y為hidden,所以它們可以被看到。
這裡有一個(gè)範(fàn)例,其中兩個(gè)子元素具有稍微透明的背景,這樣您就可以看到父元素的背景,並且在這種情況下,它在第二個(gè)子元素下方稍微結(jié)束。
.container { width: 300px; height: 100px; background: magenta; } .item1 { color: white; background-color: rgba(0, 0, 0, 0.4); } .item2 { color: white; background-color: rgba(0, 0, 255, 0.4); overflow: auto; }
<div class="container"> <div class="item1"> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ei </p> </div> <div class="item2"> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accug elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et at.</p> </div> </div>