Ant Design - Lauviah0622/Lavi-Note GitHub Wiki
Ant Design
Grid
不知道為什麼很排斥這個東西,但是總是得面對。
雖然 Ant design 叫它 Grid,不過其實他是用 Flex box 下去做的。你可以不用它,但是一定要懂。有很多 Ant Design 的 Component 都是用 Flex Box 下去排的。不過其實也不用太大的學習成本拉,基本上就是 Bootstrap 那套再放下來用而已(但是我自己就沒用過幾次 Bootstrap...)
重點有兩個東西,還有他的屬性
-
Row,基本上可以看成幫 container 加上
flex
,還有加上 wrap- gutter,可以用單一個數值代表 column 之間的 gap,也可以用 array 代表 [column, row] 的 gap
column 部份底層是加上.row > div { margin: 0 n 0 n }
,然後.row { margin: 0 -n/2 0 -n/2}
,
row 部份底層是用row-gap
,這個屬性會直接加上 gap,然後寬度會平均扣。 - justify
- align
- gutter,可以用單一個數值代表 column 之間的 gap,也可以用 array 代表 [column, row] 的 gap
-
Col:
每個 Col 都會被加上 relative 的屬性- span 代表說要佔 24 個 col 中的幾個:
在底層是用 max-width 還有 flex-basis 實現的(其實是用 flex 這個屬性啦,不過同樣意思),實現的 class 是用
.ant-col-*
- offset 向右邊推移幾格 底層是用 margin-left 來實現的,換句話說,本身的寬度會增加,所以會跟著推移下一個格子
- push 向右邊推移幾格
- pull 向左推移幾格
pull 還有 push 都是使用 left / right 來實現的,配合 relative 就只是基於原本位置的偏移而已。 - order 可以獨立於元素的排列指定順序,就是用 order 屬性實現
- flex,等同於 flex 屬性,設定 grow, shrink, base
- span 代表說要佔 24 個 col 中的幾個:
在底層是用 max-width 還有 flex-basis 實現的(其實是用 flex 這個屬性啦,不過同樣意思),實現的 class 是用