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. 淺談vue生命周期共有幾個階段?分別是什么?2. javascript - 安裝了babel,不起作用3. html5 - vue項目中我用webpack編譯不成功4. css - 如何實現單行與多行文字的居中5. macos - mac下docker如何設置代理6. html5 - 純CSS怎么做出這種一模一樣的導航條導航塊那里還有個下拉菜單,請大家指導一下7. node.js - Angular-webpack-Starter, 怎么把NodeJS添加進項目里?8. index.php錯誤,求指點9. 微信公眾號在線生成二維碼帶參數怎么搞?10. 微信開放平臺 - android 微信支付后點完成按鈕,后回調打開第三方頁面,屏幕閃動,求解決方法
