2 回答

TA貢獻1836條經驗 獲得超4個贊
使用該flex-grow
屬性可使Flex項目占用主軸上的可用空間。
此屬性將盡可能擴展項目,將長度調整為動態(tài)環(huán)境,例如屏幕重新調整大小或添加/刪除其他項目。
一個常見的例子是flex-grow: 1
或使用速記屬性flex: 1
。
因此,不要width: 96%
使用你的div,而是使用flex: 1
。
你寫了:
所以目前,它設置為96%,看起來沒問題,直到你真的擠壓屏幕 - 然后右手div有點缺乏它所需的空間。
壓縮固定寬度div與另一個flex屬性有關: flex-shrink
默認情況下,將flex項設置為flex-shrink: 1
允許它們縮小以防止容器溢出。
要禁用此功能,請使用flex-shrink: 0
。
有關詳細信息,請參閱答案中的flex-shrink
因子部分:
了解有關沿主軸的柔性對齊的更多信息:
在此處了解有關沿交叉軸的柔性對齊的更多信息:

TA貢獻1797條經驗 獲得超4個贊
基本上我試圖讓我的代碼在'行'上有一個中間部分來自動調整兩邊的內容(在我的例子中,是一個虛線分隔符)。就像@Michael_B建議的那樣,關鍵是display:flex
在行容器上使用,并至少確保行上的中間容器的flex-grow
值至少為1(如果外部容器沒有flex-grow
應用任何屬性)。
這是我試圖做的圖片以及我如何解決它的示例代碼。
編輯:虛線底部邊框可能看起來很奇怪,具體取決于瀏覽器的顯示方式。我個人建議使用黑色圓圈SVG作為重復的背景圖像,尺寸合適并定位在中間容器的底部。當我有時間時,會添加這個替代解決方案。
.row { background: lightgray; height: 30px; width: 100%; display: flex; align-items:flex-end; margin-top:5px;}.left { background:lightblue;}.separator{ flex-grow:1; border-bottom:dotted 2px black;}.right { background:coral;}
<div class="row"> <div class="left">Left</div> <div class="separator"></div> <div class="right">Right With Text</div></div><div class="row"> <div class="left">Left With More Text</div> <div class="separator"></div> <div class="right">Right</div></div><div class="row"> <div class="left">Left With Text</div> <div class="separator"></div> <div class="right">Right With More Text</div></div>
添加回答
舉報