css3 - 何時需要 flex-basis: 100% ?
問題描述
下面例子中,同樣一個四點骰子為什么.first-face必須有flex-basis: 100%;,而.second-face不需要呢?
codepen地址
/* 核心代碼 */.first-face { display: flex; flex-wrap: wrap; align-content: space-between;}.first-face .column { display: flex; justify-content: space-between; flex-basis: 100%; /* 為什么必須有這一行? */}.second-face { display: flex; justify-content: space-between; /* 這里為什么不需要flex-basis: 100%; ?*/}.second-face .column { display: flex; flex-direction: column; justify-content: space-between;}
問題解答
回答1:摘錄友站前輩的解答,既簡潔又清晰:
樓主的問題可以歸結為:為什么.second-face 里的.column 會自動占 100%高度,而.first-face 里的.column 卻不會自動占 100%寬度?
我理解是因為 align-items 的缺省值是 stretch (.second-face ),而 flex-grow 缺省值為 0 (.first-face )。
回答2:因為你的第二個盒子 是 縱向布局 你添加了 flex-direction: column;
而第一個盒子 你又應用了 flex-wrap: wrap; 內容超出后換行 而且用的是 align-content而不是justify-content 內容超出換行后 對齊方式justify-content: space-between不再生效
相關文章:
1. 就一臺服務器,mysql數據庫想實現自動備份,如何設計?2. mysql - thinkphp5 在MAC電腦本地正常,部署LINUX服務器之后,模型不存在3. 編輯管理員信息時,為什么沒有修改過的內容會為空?4. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?5. javascript - 百度圖片切換圖片時url會改變,但無刷新,沒用hash,IE8也支持,請問是用了什么技術?6. 這是什么情況???7. node.js - win10如何安裝并使用babel?8. python - xpath中如何使用變量9. APP上傳到電腦服務器,出現數據上傳不完整的問題10. mysql服務無法啟動1067錯誤,誰知道正確的解決方法?
