Flexbox 中的 grow, shrink 與 basis
02-02
這三個屬性之前一直沒完全弄清楚,網上很多文章也感覺寫得有些太晦澀太複雜,果然這類事情還是得自己去實驗,才可以更清楚地弄明白裡面的機制:
推薦閱讀:
- 默認值為 flex-grow:0, flex-shrink:1, flex-basis:auto
- 意味著默認情況下如果旁邊有某個元素太長,是有可能把其它的都擠沒掉的……
- 這三個值可以分別定義或是直接用 flex 屬性一起定義
- none | [ <flex-grow> <flex-shrink>? || <flex-basis> ]
- 值為 none 時即是 0 0 auto,大概就是不拉伸也不壓縮寬度自動
- Flex-basis 是基礎值, 定義了節點本身希望渲染的長度
- Flex-grow 定義了節點拉伸時的表現
- 只在容器大於所有節點希望渲染的總值時作用
- 其數值定義了各節點拉伸的比例
- Flex-shrink 定義了節點空間不夠必須壓縮時的表現
- 只在容器小於所有節點希望渲染的總值時作用
- 其數值定義了各節點壓縮的比例
附:具體寫的測試頁面。BTW, 用 create-react-app 來寫些純前端的實驗頁面挺方便的。
推薦閱讀:
※你寫過的最晦澀的一個 Selector 是什麼?
※CSS中-webkit-text-size-adjust:none如何兼容blink?
※淺談margin負值
※CSS 有哪些暖心卻鮮為人知的屬性?
※line-height:normal是怎樣計算的?