[英]Two divs, one under another, one dynamic and second fill the rest of space
我認為父級的固定高度和寬度會導致子元素溢出。
這是具有動態高度和父級寬度的JsFiddle 示例 ,它可以按照您的期望工作。
.parent{ background-color:yellow; padding:2em; width:100%; display:flex; flex-direction: column; } .child{ height:auto; } #child1{ flex:1; background-color:red; padding:0.5em; } #child2{ flex:1; background-color:blue; padding:1em 1.5em; text-align:center; } #child2 img{ margin: 0 auto; height: 90%; width: 90%; }
<div class="parent"> <div class="child" id="child1"> sometest sometest sometestsometest sometest sometest sometest sometest sometestsometest sometest sometest sometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest sometestsometest sometest sometestsometest sometest sometestsometestsometest sometest </div> <div class="child" id="child2"> <img src=""/> </div> </div>
但是,您也可以使用靜態高度和寬度,在這種情況下,您必須將parent的overflow屬性設置為auto。
嘗試解決方案,如果您需要其他東西,請告訴我。
所有這一切都完全可以通過CSS實現。 物業flex
需要一些煩躁。 這是關於如何正確使用flex
的最佳教程/解釋。
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
至於確保圖像高度相對於父div
您只需要在圖像上定義一些百分比高度,寬度將自動縮放。
例如
display: flex
到外部容器。 然后,您可以為第一個元素定義一個恆定高度,並將flex: 1
賦予第二個元素。 這將使第二個元素增長到空白區域。 您的圖像仍會相應調整大小。
$(function(){ $("#inside").width($("#inside").height()); })
div{ color: white; padding: 10px; text-align: center; } div div{ margin: 10px; } #outside{ background: rgb(200,200,50); height: 500px; width: 500px; display: flex; flex-direction: column; } #top{ background: rgb(255,0,0); } #bottom{ background: rgb(0,100,100); flex-grow: 1; display: flex; justify-content: center; } #inside{ background: rgb(0,200,0); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="outside"> <div id="top"> content here <br> asdf<br> asdf<br> asdf<br> adsf<br> </div> <div id="bottom"> <div id="inside"> </div> </div> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.