Grid
Grid 作為通用容器,包覆要排列的元素。
簡介
Grid 元件基於 12 欄網格佈局,在版面配置之間建立視覺一致性,同時允許各種設計的彈性。
基本概念
import Grid from '@mui/joy/Grid';
欄寬是介於 1 到 12 之間的整數值。例如,size={6}
的項目會佔據網格容器寬度的一半。
客製化
具有多個斷點的 Grid
元件可以定義多個寬度,導致版面配置在定義的斷點處變更。給予較大斷點的寬度值會覆寫給予較小斷點的寬度值。
例如,當視窗寬度為 600 像素或更大時,size={{ xs: 12, sm: 6 }}
會將元件調整為佔據視窗寬度的一半(6 欄)。對於較小的視窗,元件會填滿所有 12 個可用欄位。
間距
若要控制子元件之間的間距,請使用 spacing
屬性。間距值可以是任何正數,包括小數和任何字串。該屬性會使用 theme.spacing()
輔助程式轉換為 CSS 屬性。
<Grid container spacing={2}>
響應式值
您可以根據活動斷點切換屬性的值。
響應式值由以下項目支援
size
columns
columnSpacing
direction
rowSpacing
間距
offset
- MUI System 的所有其他屬性
自動版面配置
自動版面配置使網格項目公平地共享可用空間。這也表示您可以設定一個網格項目的寬度,而其他項目將自動調整大小以環繞它。
可變寬度內容
將其中一個 size 斷點屬性設定為 "auto"
,以根據其內容的自然寬度呈現欄。
欄
您可以使用 columns
屬性變更預設欄數 (12)。
<Grid
container
direction="row"
sx={{
justifyContent: "center",
alignItems: "center",
}}
>
限制
負邊距
項目之間的間距是使用負邊距實作的。這可能會導致意外的行為。例如,若要套用背景顏色,您需要將 display: flex;
套用至父元素。
direction: column | column-reverse
size
和 offset
屬性在 direction="column"
和 direction="column-reverse"
容器中不支援。
它們定義元件將針對給定斷點使用的網格數。它們旨在於 row
容器中使用 flex-basis
控制寬度,但它們會影響 column
容器中的高度。如果使用這些屬性,可能會對 Grid
項目元素的高度產生不良影響。
CSS Grid Layout
Grid
元件在內部使用 CSS flexbox。但如下所示,您可以輕鬆使用 MUI System 和 CSS Grid 來配置您的頁面。

Jimmy

Michal

Jun

Marija